浏览代码
Merge remote-tracking branch 'refs/remotes/origin/master' into Support-forward-SSS
Merge remote-tracking branch 'refs/remotes/origin/master' into Support-forward-SSS
# Conflicts: # ScriptableRenderPipeline/HDRenderPipeline/HDRenderPipeline.cs # ScriptableRenderPipeline/HDRenderPipeline/Lighting/LightLoop/LightLoop.cs # ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.hlsl/main
Sebastien Lagarde
7 年前
当前提交
414e5846
共有 45 个文件被更改,包括 4319 次插入 和 205 次删除
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1101_Unlit.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1102_Unlit_Distortion.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1103_Unlit_Distortion_DepthTest.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1201_Lit_Features.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1202_Lit_DoubleSideNormalMode.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1203_Lit_Transparent.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1204_Lit_Transparent_Fog.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1205_Lit_Transparent_Refraction.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1206_Lit_Transparent_Distortion.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1207_Lit_Displacement.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1208_Lit_Displacement_POM.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1209_Lit_Displacement_Vertex.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1210_Lit_BentNormal.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1211_Lit_Details.unity.png.meta
-
45ImageTemplates/HDRenderPipeline/Scenes/1xxx_Materials/1212_Lit_Emission.unity.png.meta
-
5ScriptableRenderPipeline/Core/ShaderLibrary/Macros.hlsl
-
6ScriptableRenderPipeline/HDRenderPipeline/HDRenderPipeline.cs
-
44ScriptableRenderPipeline/HDRenderPipeline/Lighting/LightLoop/LightLoop.cs
-
2ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.cs
-
8ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.cs.hlsl
-
159ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Lit.hlsl
-
3ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Resources/SubsurfaceScattering.compute
-
5ScriptableRenderPipeline/HDRenderPipeline/Material/Lit/Resources/SubsurfaceScattering.shader
-
15ScriptableRenderPipeline/HDRenderPipeline/Material/SubsurfaceScattering/SubsurfaceScattering.hlsl
-
4ScriptableRenderPipeline/HDRenderPipeline/Material/SubsurfaceScattering/SubsurfaceScatteringSettings.cs
-
114Tests/GraphicsTests/Framework/Editor/PlayModeTestFramework.cs
-
11Tests/GraphicsTests/Framework/Editor/PlayModeTestFramework.cs.meta
-
8Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest.meta
-
196Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/ComparerMaterial.mat
-
8Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/ComparerMaterial.mat.meta
-
114Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/ComparerShader.shader
-
9Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/ComparerShader.shader.meta
-
236Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/Comparer_Template.png
-
116Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/Comparer_Template.png.meta
-
237Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/Comparer_Test.png
-
116Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/Comparer_Test.png.meta
-
360Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTests.unity
-
7Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTests.unity.meta
-
11Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTestsUI.cs.meta
-
1001Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTestsUI.prefab
-
8Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTestsUI.prefab.meta
-
624Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/TestResult.prefab
-
8Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/TestResult.prefab.meta
-
414Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTestsUI.cs
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEditor; |
|||
|
|||
public class PlayModeTestFramework : EditorWindow |
|||
{ |
|||
static string scenesRootPath = "/Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/Scenes"; |
|||
|
|||
enum Platforms { PC, PS4}; |
|||
Platforms platform = Platforms.PC; |
|||
|
|||
bool developmentBuild = false; |
|||
bool buildAndRun = true; |
|||
|
|||
[MenuItem("Internal/GraphicTest Tools/PlayMode Test Window")] |
|||
public static void OpenPlayModeTestWindow() |
|||
{ |
|||
PlayModeTestFramework window = GetWindow<PlayModeTestFramework>(); |
|||
|
|||
// find all the scenes
|
|||
window.allPaths = System.IO.Directory.GetFiles(Application.dataPath+scenesRootPath, "*.unity", System.IO.SearchOption.AllDirectories); |
|||
|
|||
for (int i = 0; i < window.allPaths.Length; ++i) |
|||
{ |
|||
window.allPaths[i] = "Assets" + window.allPaths[i].Replace(Application.dataPath, ""); |
|||
} |
|||
|
|||
//Debug.Log("Scenes found : " + window.allPaths.Length);
|
|||
|
|||
for (int i = 0; i < window.allPaths.Length; ++i) |
|||
{ |
|||
Debug.Log(window.allPaths[i]); |
|||
} |
|||
} |
|||
|
|||
string[] allPaths; |
|||
|
|||
private void OnGUI() |
|||
{ |
|||
scenesRootPath = EditorGUILayout.TextField(scenesRootPath); |
|||
|
|||
for (int i = 0; i < allPaths.Length; ++i) |
|||
{ |
|||
GUILayout.Label(allPaths[i]); |
|||
} |
|||
|
|||
platform = (Platforms)EditorGUILayout.EnumPopup("Target Platform ", platform); |
|||
|
|||
developmentBuild = EditorGUILayout.Toggle("Development Build", developmentBuild); |
|||
|
|||
buildAndRun = EditorGUILayout.Toggle("Build and Run", buildAndRun); |
|||
|
|||
if (GUILayout.Button("Build Player")) |
|||
{ |
|||
EditorBuildSettingsScene[] prevScenes = EditorBuildSettings.scenes; |
|||
|
|||
EditorBuildSettingsScene[] testScenes = new EditorBuildSettingsScene[allPaths.Length+1]; |
|||
|
|||
testScenes[0] = new EditorBuildSettingsScene(Application.dataPath+ "/Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTests.unity", true); |
|||
|
|||
for (int i=0; i<allPaths.Length;++i) |
|||
{ |
|||
testScenes[i+1] = new EditorBuildSettingsScene(allPaths[i], true); |
|||
} |
|||
|
|||
Debug.Log("Do build in : " + Application.dataPath + "/../Builds/GraphicTests/GraphicTestBuildPC.exe"); |
|||
|
|||
// Move all templates to a Resources folder for build
|
|||
string[] templates = AssetDatabase.FindAssets("t:Texture2D" , new string[] { "Assets/ImageTemplates/HDRenderPipeline" }); |
|||
|
|||
Debug.Log("Found " + templates.Length + " template images."); |
|||
|
|||
string[] oldPaths = new string[templates.Length]; |
|||
string[] newPaths = new string[templates.Length]; |
|||
|
|||
if (!AssetDatabase.IsValidFolder("Assets/Resources")) AssetDatabase.CreateFolder("Assets", "Resources"); |
|||
|
|||
for (int i=0; i<templates.Length;++i) |
|||
{ |
|||
oldPaths[i] = AssetDatabase.GUIDToAssetPath(templates[i]); |
|||
newPaths[i] = "Assets/Resources/" + System.IO.Path.GetFileName( oldPaths[i] ); |
|||
|
|||
//Debug.Log("Move " + oldPaths[i] + " to " + newPaths[i]);
|
|||
|
|||
AssetDatabase.MoveAsset(oldPaths[i], newPaths[i]); |
|||
} |
|||
|
|||
//string[] templates = System.IO.Directory.GetFiles(Application.dataPath + scenesRootPath, "*.unity", System.IO.SearchOption.AllDirectories);
|
|||
|
|||
//System.IO.Directory.Move(Application.dataPath + "/ImageTemplates/HDRenderPipeline", Application.dataPath + "/ImageTemplates/Resources/HDRenderPipeline");
|
|||
|
|||
BuildOptions options = BuildOptions.None; |
|||
if (developmentBuild) options |= BuildOptions.Development; |
|||
if (buildAndRun) options |= BuildOptions.AutoRunPlayer; |
|||
|
|||
switch (platform) |
|||
{ |
|||
case Platforms.PC: |
|||
BuildPipeline.BuildPlayer(testScenes, Application.dataPath + "/../Builds/GraphicTests/PC/GraphicTestBuildPC.exe", BuildTarget.StandaloneWindows64, options); |
|||
break; |
|||
case Platforms.PS4: |
|||
BuildPipeline.BuildPlayer(testScenes, Application.dataPath + "/../Builds/GraphicTests/PS4/GraphicTestBuildPS4.self", BuildTarget.PS4, options); |
|||
break; |
|||
} |
|||
|
|||
// Move back Templates to their folder
|
|||
for (int i = 0; i < templates.Length; ++i) |
|||
{ |
|||
AssetDatabase.MoveAsset(newPaths[i], oldPaths[i]); |
|||
} |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 6346510ae1ab8d346b76631a3152ecf1 |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 8a6a52a0337d590469d021015e0af4ce |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: ComparerMaterial |
|||
m_Shader: {fileID: 4800000, guid: 4030519dc1af1174eaec0971fdec6372, type: 3} |
|||
m_ShaderKeywords: _ALBEDOAFFECTEMISSIVE_OFF _ALPHACUTOFFENABLE_OFF _DEPTHOFFSETENABLE_OFF |
|||
_DISTORTIONENABLE_OFF _DOUBLESIDEDENABLE_OFF _ENABLESPECULAROCCLUSION_OFF _ENABLEWIND_OFF |
|||
_PREREFRACTIONPASS_OFF |
|||
m_LightmapFlags: 4 |
|||
m_EnableInstancingVariants: 0 |
|||
m_DoubleSidedGI: 0 |
|||
m_CustomRenderQueue: -1 |
|||
stringTagMap: {} |
|||
disabledShaderPasses: [] |
|||
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} |
|||
- _CompareTex: |
|||
m_Texture: {fileID: 2800000, guid: 1c8d92d1059378247a61bde39017c642, 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} |
|||
- _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} |
|||
- _MainTex: |
|||
m_Texture: {fileID: 2800000, guid: 7d7a53c4266976c4c9934572a37ca369, 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} |
|||
- _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} |
|||
- _SubsurfaceRadiusMap: |
|||
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 |
|||
- _AlbedoAffectEmissive: 0 |
|||
- _AlphaCutoff: 0.5 |
|||
- _AlphaCutoffEnable: 0 |
|||
- _Anisotropy: 0 |
|||
- _BlendMode: 0 |
|||
- _CoatCoverage: 1 |
|||
- _CoatIOR: 0.5 |
|||
- _CullMode: 2 |
|||
- _Cutoff: 0.5 |
|||
- _DepthOffsetEnable: 0 |
|||
- _DetailAlbedoScale: 1 |
|||
- _DetailNormalScale: 1 |
|||
- _DetailSmoothnessScale: 1 |
|||
- _DisplacementLockObjectScale: 1 |
|||
- _DisplacementLockTilingScale: 1 |
|||
- _DisplacementMode: 0 |
|||
- _DistortionBlendMode: 0 |
|||
- _DistortionBlurBlendMode: 0 |
|||
- _DistortionBlurDstBlend: 0 |
|||
- _DistortionBlurRemapMax: 1 |
|||
- _DistortionBlurRemapMin: 0 |
|||
- _DistortionBlurScale: 1 |
|||
- _DistortionBlurSrcBlend: 0 |
|||
- _DistortionDepthTest: 1 |
|||
- _DistortionDstBlend: 0 |
|||
- _DistortionEnable: 0 |
|||
- _DistortionScale: 1 |
|||
- _DistortionSrcBlend: 0 |
|||
- _DistortionVectorBias: -1 |
|||
- _DistortionVectorScale: 2 |
|||
- _DoubleSidedEnable: 0 |
|||
- _DoubleSidedNormalMode: 1 |
|||
- _Drag: 1 |
|||
- _DstBlend: 0 |
|||
- _EmissiveColorMode: 1 |
|||
- _EmissiveIntensity: 0 |
|||
- _EnableBlendModePreserveSpecularLighting: 1 |
|||
- _EnableFogOnTransparent: 1 |
|||
- _EnableSpecularOcclusion: 0 |
|||
- _EnableWind: 0 |
|||
- _HeightAmplitude: 0.02 |
|||
- _HeightCenter: 0.5 |
|||
- _HeightMax: 1 |
|||
- _HeightMin: -1 |
|||
- _IOR: 1 |
|||
- _InitialBend: 1 |
|||
- _InvTilingScale: 1 |
|||
- _LineWidth: 0.001 |
|||
- _LinkDetailsWithBase: 1 |
|||
- _MaterialID: 1 |
|||
- _MaxMode: 0 |
|||
- _Metallic: 0 |
|||
- _Mode: 4 |
|||
- _NormalMapSpace: 0 |
|||
- _NormalScale: 1 |
|||
- _PPDLodThreshold: 5 |
|||
- _PPDMaxSamples: 15 |
|||
- _PPDMinSamples: 5 |
|||
- _PPDPrimitiveLength: 1 |
|||
- _PPDPrimitiveWidth: 1 |
|||
- _PreRefractionPass: 0 |
|||
- _RefractionMode: 0 |
|||
- _ResultSplit: 0.261993 |
|||
- _ShiverDirectionality: 0.5 |
|||
- _ShiverDrag: 0.2 |
|||
- _Smoothness: 1 |
|||
- _SmoothnessRemapMax: 1 |
|||
- _SmoothnessRemapMin: 0 |
|||
- _Split: 0.42501768 |
|||
- _SrcBlend: 1 |
|||
- _StencilRef: 2 |
|||
- _Stiffness: 1 |
|||
- _SubsurfaceProfile: 0 |
|||
- _SubsurfaceRadius: 1 |
|||
- _SurfaceType: 0 |
|||
- _TexWorldScale: 1 |
|||
- _Thickness: 1 |
|||
- _ThicknessMultiplier: 1 |
|||
- _UVBase: 0 |
|||
- _UVDetail: 0 |
|||
- _ZTestMode: 8 |
|||
- _ZWrite: 1 |
|||
m_Colors: |
|||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1} |
|||
- _Color: {r: 1, g: 1, b: 1, a: 1} |
|||
- _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} |
|||
- _InvPrimScale: {r: 1, 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} |
|
|||
fileFormatVersion: 2 |
|||
guid: 52c77b86de47cf043a0140cdd2f021e9 |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 2100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
Shader "GraphicTests/ComparerShader" |
|||
{ |
|||
Properties |
|||
{ |
|||
_MainTex("Texture", 2D) = "white" {} |
|||
_CompareTex("Texture", 2D) = "white" {} |
|||
[Enum(Red, 0, Green, 1, Blue, 2, Color, 3, Greyscale, 4, Heatmap, 5)] |
|||
_Mode("Mode", int) = 5 |
|||
[Toggle] _MaxMode("Max Mode", int)=0 |
|||
_Split("Split", Range(0,1)) = 0.5 |
|||
_ResultSplit ("Result Split", Range(0,1)) = 0.1 |
|||
_LineWidth("Line Width", float) = 0.001 |
|||
} |
|||
SubShader |
|||
{ |
|||
Tags { "RenderType"="Opaque" } |
|||
LOD 100 |
|||
|
|||
Pass |
|||
{ |
|||
CGPROGRAM |
|||
#pragma vertex vert |
|||
#pragma fragment frag |
|||
|
|||
#include "UnityCG.cginc" |
|||
|
|||
struct appdata |
|||
{ |
|||
float4 vertex : POSITION; |
|||
float2 uv : TEXCOORD0; |
|||
}; |
|||
|
|||
struct v2f |
|||
{ |
|||
float2 uv : TEXCOORD0; |
|||
float4 vertex : SV_POSITION; |
|||
}; |
|||
|
|||
sampler2D _MainTex; |
|||
sampler2D _CompareTex; |
|||
int _Mode, _MaxMode; |
|||
|
|||
float _Split, _ResultSplit, _LineWidth; |
|||
|
|||
v2f vert (appdata v) |
|||
{ |
|||
v2f o; |
|||
o.vertex = UnityObjectToClipPos(v.vertex); |
|||
o.uv = v.uv; |
|||
return o; |
|||
} |
|||
|
|||
fixed4 frag (v2f i) : SV_Target |
|||
{ |
|||
fixed4 c1 = tex2D(_MainTex, i.uv); |
|||
float2 uv2 = float2(i.uv.x, 1-i.uv.y); |
|||
fixed4 c2 = tex2D(_CompareTex, uv2); |
|||
|
|||
fixed4 o = c1 - c2; |
|||
o.a = 1; |
|||
o = abs(o); |
|||
|
|||
float f = (o.r + o.g + o.b) / 3; |
|||
|
|||
if (_MaxMode == 1) |
|||
f = max(o.r, max(o.g, o.b)); |
|||
|
|||
if (_Mode == 0) |
|||
o.gb = 0; |
|||
if (_Mode == 1) |
|||
o.rb = 0; |
|||
if (_Mode == 2) |
|||
o.rg = 0; |
|||
if (_Mode == 4) // Greyscale view |
|||
o.rgb = f; |
|||
if (_Mode == 5) // Heat view |
|||
{ |
|||
f = f * 3; |
|||
|
|||
o.b = 1-abs( clamp(f, 0, 2)-1) ; |
|||
o.g = 1-abs( clamp(f, 1, 3)-2 ); |
|||
o.r = clamp(f, 2, 3) - 2; |
|||
} |
|||
|
|||
_Split = lerp(_Split, 0.5, _ResultSplit); |
|||
|
|||
float a1 = saturate(_Split - _ResultSplit * 0.5 - _LineWidth); |
|||
float a2 = saturate(_Split - _ResultSplit * 0.5); |
|||
float b1 = saturate(_Split + _ResultSplit * 0.5); |
|||
float b2 = saturate(_Split + _ResultSplit * 0.5 + _LineWidth); |
|||
|
|||
if (i.uv.x < a1) |
|||
{ |
|||
o.rgb = c1.rgb; |
|||
} |
|||
else if (i.uv.x < a2) |
|||
{ |
|||
o.rgb = 0; |
|||
} |
|||
else if (i.uv.x > b2) |
|||
{ |
|||
o.rgb = c2.rgb; |
|||
} |
|||
else if (i.uv.x > b1) |
|||
{ |
|||
o.rgb = 0; |
|||
} |
|||
|
|||
return o; |
|||
} |
|||
ENDCG |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 4030519dc1af1174eaec0971fdec6372 |
|||
ShaderImporter: |
|||
externalObjects: {} |
|||
defaultTextures: [] |
|||
nonModifiableTextures: [] |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 7d7a53c4266976c4c9934572a37ca369 |
|||
TextureImporter: |
|||
fileIDToRecycleName: {} |
|||
externalObjects: {} |
|||
serializedVersion: 5 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
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 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 0 |
|||
aniso: -1 |
|||
mipBias: -1 |
|||
wrapU: -1 |
|||
wrapV: -1 |
|||
wrapW: -1 |
|||
nPOTScale: 1 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 0 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spritePixelsToUnits: 100 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 0 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 0 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
platformSettings: |
|||
- serializedVersion: 2 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: iPhone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: Windows Store Apps |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
spritePackingTag: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 1c8d92d1059378247a61bde39017c642 |
|||
TextureImporter: |
|||
fileIDToRecycleName: {} |
|||
externalObjects: {} |
|||
serializedVersion: 5 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 0 |
|||
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 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: 0 |
|||
aniso: -1 |
|||
mipBias: -1 |
|||
wrapU: -1 |
|||
wrapV: -1 |
|||
wrapW: -1 |
|||
nPOTScale: 1 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 0 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spritePixelsToUnits: 100 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 0 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 0 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
platformSettings: |
|||
- serializedVersion: 2 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: Standalone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: iPhone |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
- serializedVersion: 2 |
|||
buildTarget: Windows Store Apps |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 0 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
spritePackingTag: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%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: 8 |
|||
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: 0 |
|||
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: 0 |
|||
m_CustomReflection: {fileID: 0} |
|||
m_Sun: {fileID: 0} |
|||
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} |
|||
--- !u!157 &3 |
|||
LightmapSettings: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 11 |
|||
m_GIWorkflowMode: 0 |
|||
m_GISettings: |
|||
serializedVersion: 2 |
|||
m_BounceScale: 1 |
|||
m_IndirectOutputScale: 1 |
|||
m_AlbedoBoost: 1 |
|||
m_TemporalCoherenceThreshold: 1 |
|||
m_EnvironmentLightingMode: 0 |
|||
m_EnableBakedLightmaps: 1 |
|||
m_EnableRealtimeLightmaps: 1 |
|||
m_LightmapEditorSettings: |
|||
serializedVersion: 10 |
|||
m_Resolution: 2 |
|||
m_BakeResolution: 40 |
|||
m_AtlasSize: 1024 |
|||
m_AO: 0 |
|||
m_AOMaxDistance: 1 |
|||
m_CompAOExponent: 1 |
|||
m_CompAOExponentDirect: 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: 0 |
|||
m_PVRSampling: 1 |
|||
m_PVRDirectSampleCount: 32 |
|||
m_PVRSampleCount: 500 |
|||
m_PVRBounces: 2 |
|||
m_PVRFilterTypeDirect: 0 |
|||
m_PVRFilterTypeIndirect: 0 |
|||
m_PVRFilterTypeAO: 0 |
|||
m_PVRFilteringMode: 1 |
|||
m_PVRCulling: 1 |
|||
m_PVRFilteringGaussRadiusDirect: 1 |
|||
m_PVRFilteringGaussRadiusIndirect: 5 |
|||
m_PVRFilteringGaussRadiusAO: 2 |
|||
m_PVRFilteringAtrousPositionSigmaDirect: 0.5 |
|||
m_PVRFilteringAtrousPositionSigmaIndirect: 2 |
|||
m_PVRFilteringAtrousPositionSigmaAO: 1 |
|||
m_ShowResolutionOverlay: 1 |
|||
m_LightingDataAsset: {fileID: 0} |
|||
m_UseShadowmask: 1 |
|||
--- !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 |
|||
debug: |
|||
m_Flags: 0 |
|||
m_NavMeshData: {fileID: 0} |
|||
--- !u!1 &98674646 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 98674648} |
|||
- component: {fileID: 98674647} |
|||
m_Layer: 0 |
|||
m_Name: Directional Light |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!108 &98674647 |
|||
Light: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 98674646} |
|||
m_Enabled: 1 |
|||
serializedVersion: 8 |
|||
m_Type: 1 |
|||
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} |
|||
m_Intensity: 1 |
|||
m_Range: 10 |
|||
m_SpotAngle: 30 |
|||
m_CookieSize: 10 |
|||
m_Shadows: |
|||
m_Type: 2 |
|||
m_Resolution: -1 |
|||
m_CustomResolution: -1 |
|||
m_Strength: 1 |
|||
m_Bias: 0.05 |
|||
m_NormalBias: 0.4 |
|||
m_NearPlane: 0.2 |
|||
m_Cookie: {fileID: 0} |
|||
m_DrawHalo: 0 |
|||
m_Flare: {fileID: 0} |
|||
m_RenderMode: 0 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_Lightmapping: 4 |
|||
m_AreaSize: {x: 1, y: 1} |
|||
m_BounceIntensity: 1 |
|||
m_ColorTemperature: 6570 |
|||
m_UseColorTemperature: 0 |
|||
m_ShadowRadius: 0 |
|||
m_ShadowAngle: 0 |
|||
--- !u!4 &98674648 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 98674646} |
|||
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} |
|||
m_LocalPosition: {x: 0, y: 3, z: 0} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} |
|||
--- !u!1 &679160865 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 679160869} |
|||
- component: {fileID: 679160868} |
|||
- component: {fileID: 679160867} |
|||
- component: {fileID: 679160866} |
|||
m_Layer: 0 |
|||
m_Name: Main Camera |
|||
m_TagString: MainCamera |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!81 &679160866 |
|||
AudioListener: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 679160865} |
|||
m_Enabled: 1 |
|||
--- !u!124 &679160867 |
|||
Behaviour: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 679160865} |
|||
m_Enabled: 1 |
|||
--- !u!20 &679160868 |
|||
Camera: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 679160865} |
|||
m_Enabled: 1 |
|||
serializedVersion: 2 |
|||
m_ClearFlags: 1 |
|||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} |
|||
m_NormalizedViewPortRect: |
|||
serializedVersion: 2 |
|||
x: 0 |
|||
y: 0 |
|||
width: 1 |
|||
height: 1 |
|||
near clip plane: 0.3 |
|||
far clip plane: 1000 |
|||
field of view: 60 |
|||
orthographic: 0 |
|||
orthographic size: 5 |
|||
m_Depth: -1 |
|||
m_CullingMask: |
|||
serializedVersion: 2 |
|||
m_Bits: 4294967295 |
|||
m_RenderingPath: -1 |
|||
m_TargetTexture: {fileID: 0} |
|||
m_TargetDisplay: 0 |
|||
m_TargetEye: 3 |
|||
m_HDR: 1 |
|||
m_AllowMSAA: 1 |
|||
m_AllowDynamicResolution: 0 |
|||
m_ForceIntoRT: 0 |
|||
m_OcclusionCulling: 1 |
|||
m_StereoConvergence: 10 |
|||
m_StereoSeparation: 0.022 |
|||
--- !u!4 &679160869 |
|||
Transform: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_GameObject: {fileID: 679160865} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 1, z: -10} |
|||
m_LocalScale: {x: 1, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
--- !u!1001 &1442888911 |
|||
Prefab: |
|||
m_ObjectHideFlags: 0 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalPosition.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalRotation.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalRotation.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalRotation.z |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_LocalRotation.w |
|||
value: 1 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_RootOrder |
|||
value: 2 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchoredPosition.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchoredPosition.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_SizeDelta.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_SizeDelta.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchorMin.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchorMin.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchorMax.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_AnchorMax.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_Pivot.x |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
- target: {fileID: 224315826366591984, guid: 45351acbe8482b74da5758589fb97889, |
|||
type: 2} |
|||
propertyPath: m_Pivot.y |
|||
value: 0 |
|||
objectReference: {fileID: 0} |
|||
m_RemovedComponents: [] |
|||
m_ParentPrefab: {fileID: 100100000, guid: 45351acbe8482b74da5758589fb97889, type: 2} |
|||
m_IsPrefabParent: 0 |
|
|||
fileFormatVersion: 2 |
|||
guid: 480254170bea3004397e018aa37ec0b1 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 4dc7a037862a3dc45aa9c86cf9214c4b |
|||
MonoImporter: |
|||
externalObjects: {} |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
1001
Tests/GraphicsTests/RenderPipeline/HDRenderPipeline/PlayModeTest/PlayModeTestsUI.prefab
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: 45351acbe8482b74da5758589fb97889 |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 100100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!1001 &100100000 |
|||
Prefab: |
|||
m_ObjectHideFlags: 1 |
|||
serializedVersion: 2 |
|||
m_Modification: |
|||
m_TransformParent: {fileID: 0} |
|||
m_Modifications: [] |
|||
m_RemovedComponents: [] |
|||
m_ParentPrefab: {fileID: 0} |
|||
m_RootGameObject: {fileID: 1957013230449424} |
|||
m_IsPrefabParent: 1 |
|||
--- !u!1 &1136652597852676 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224604153360796628} |
|||
- component: {fileID: 222725697844967814} |
|||
- component: {fileID: 114293753978038580} |
|||
m_Layer: 0 |
|||
m_Name: Avg_Value |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1474380241666086 |
|||
GameObject: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224412054771191868} |
|||
- component: {fileID: 222239294966982210} |
|||
- component: {fileID: 114578162189834174} |
|||
m_Layer: 0 |
|||
m_Name: Fill |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1710732226757184 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224081490807871498} |
|||
- component: {fileID: 222023471181549996} |
|||
- component: {fileID: 114442740453495096} |
|||
m_Layer: 0 |
|||
m_Name: Label |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1727314949406214 |
|||
GameObject: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224462064455142346} |
|||
- component: {fileID: 222081655797672788} |
|||
- component: {fileID: 114765437704200054} |
|||
m_Layer: 0 |
|||
m_Name: Fill |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1896261309230124 |
|||
GameObject: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224126080652644190} |
|||
- component: {fileID: 222850534246473966} |
|||
- component: {fileID: 114552396026382142} |
|||
m_Layer: 0 |
|||
m_Name: Text |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1957013230449424 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224331594053107772} |
|||
- component: {fileID: 114483986391395762} |
|||
- component: {fileID: 114607794986982786} |
|||
- component: {fileID: 222470363867258418} |
|||
m_Layer: 0 |
|||
m_Name: TestResult |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1961326494049626 |
|||
GameObject: |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224317587001371684} |
|||
- component: {fileID: 222745790443316244} |
|||
- component: {fileID: 114785832024462888} |
|||
m_Layer: 0 |
|||
m_Name: Max_Value |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!1 &1995360882874254 |
|||
GameObject: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
serializedVersion: 5 |
|||
m_Component: |
|||
- component: {fileID: 224145952992471378} |
|||
- component: {fileID: 222794401575964520} |
|||
- component: {fileID: 114966076280866844} |
|||
m_Layer: 0 |
|||
m_Name: Text |
|||
m_TagString: Untagged |
|||
m_Icon: {fileID: 0} |
|||
m_NavMeshLayer: 0 |
|||
m_StaticEditorFlags: 0 |
|||
m_IsActive: 1 |
|||
--- !u!114 &114293753978038580 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1136652597852676} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0, g: 0, b: 0, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_Sprite: {fileID: 0} |
|||
m_Type: 0 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
--- !u!114 &114442740453495096 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1710732226757184} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} |
|||
m_FontSize: 14 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 1 |
|||
m_MinSize: 10 |
|||
m_MaxSize: 40 |
|||
m_Alignment: 3 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: Scene Name |
|||
--- !u!114 &114483986391395762 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1957013230449424} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 1, g: 1, b: 1, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_Sprite: {fileID: 10905, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_Type: 1 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
--- !u!114 &114552396026382142 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1896261309230124} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} |
|||
m_FontSize: 100 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 1 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 100 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: 66% |
|||
--- !u!114 &114578162189834174 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1474380241666086} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.11792451, g: 1, b: 0.122325316, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_Sprite: {fileID: 0} |
|||
m_Type: 3 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
--- !u!114 &114607794986982786 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1957013230449424} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 1392445389, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Navigation: |
|||
m_Mode: 3 |
|||
m_SelectOnUp: {fileID: 0} |
|||
m_SelectOnDown: {fileID: 0} |
|||
m_SelectOnLeft: {fileID: 0} |
|||
m_SelectOnRight: {fileID: 0} |
|||
m_Transition: 1 |
|||
m_Colors: |
|||
m_NormalColor: {r: 0.54509807, g: 0.54509807, b: 0.54509807, a: 1} |
|||
m_HighlightedColor: {r: 0.7735849, g: 0.7735849, b: 0.7735849, a: 1} |
|||
m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} |
|||
m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} |
|||
m_ColorMultiplier: 1 |
|||
m_FadeDuration: 0.1 |
|||
m_SpriteState: |
|||
m_HighlightedSprite: {fileID: 0} |
|||
m_PressedSprite: {fileID: 0} |
|||
m_DisabledSprite: {fileID: 0} |
|||
m_AnimationTriggers: |
|||
m_NormalTrigger: Normal |
|||
m_HighlightedTrigger: Highlighted |
|||
m_PressedTrigger: Pressed |
|||
m_DisabledTrigger: Disabled |
|||
m_Interactable: 1 |
|||
m_TargetGraphic: {fileID: 114483986391395762} |
|||
m_OnClick: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.Button+ButtonClickedEvent, UnityEngine.UI, Version=1.0.0.0, |
|||
Culture=neutral, PublicKeyToken=null |
|||
--- !u!114 &114765437704200054 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1727314949406214} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.11792451, g: 1, b: 0.122325316, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_Sprite: {fileID: 0} |
|||
m_Type: 3 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
--- !u!114 &114785832024462888 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1961326494049626} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0, g: 0, b: 0, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_Sprite: {fileID: 0} |
|||
m_Type: 0 |
|||
m_PreserveAspect: 0 |
|||
m_FillCenter: 1 |
|||
m_FillMethod: 4 |
|||
m_FillAmount: 1 |
|||
m_FillClockwise: 1 |
|||
m_FillOrigin: 0 |
|||
--- !u!114 &114966076280866844 |
|||
MonoBehaviour: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1995360882874254} |
|||
m_Enabled: 1 |
|||
m_EditorHideFlags: 0 |
|||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3} |
|||
m_Name: |
|||
m_EditorClassIdentifier: |
|||
m_Material: {fileID: 0} |
|||
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} |
|||
m_RaycastTarget: 1 |
|||
m_OnCullStateChanged: |
|||
m_PersistentCalls: |
|||
m_Calls: [] |
|||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI, |
|||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null |
|||
m_FontData: |
|||
m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} |
|||
m_FontSize: 100 |
|||
m_FontStyle: 0 |
|||
m_BestFit: 1 |
|||
m_MinSize: 0 |
|||
m_MaxSize: 100 |
|||
m_Alignment: 4 |
|||
m_AlignByGeometry: 0 |
|||
m_RichText: 1 |
|||
m_HorizontalOverflow: 0 |
|||
m_VerticalOverflow: 0 |
|||
m_LineSpacing: 1 |
|||
m_Text: 66% |
|||
--- !u!222 &222023471181549996 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1710732226757184} |
|||
--- !u!222 &222081655797672788 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1727314949406214} |
|||
--- !u!222 &222239294966982210 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1474380241666086} |
|||
--- !u!222 &222470363867258418 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1957013230449424} |
|||
--- !u!222 &222725697844967814 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1136652597852676} |
|||
--- !u!222 &222745790443316244 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1961326494049626} |
|||
--- !u!222 &222794401575964520 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1995360882874254} |
|||
--- !u!222 &222850534246473966 |
|||
CanvasRenderer: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1896261309230124} |
|||
--- !u!224 &224081490807871498 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1710732226757184} |
|||
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: 224331594053107772} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 0.6666667, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: -20, y: -20} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!224 &224126080652644190 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1896261309230124} |
|||
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: 224604153360796628} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: -40, y: -40} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!224 &224145952992471378 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1995360882874254} |
|||
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: 224317587001371684} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: -40, y: -40} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!224 &224317587001371684 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1961326494049626} |
|||
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: 224412054771191868} |
|||
- {fileID: 224145952992471378} |
|||
m_Father: {fileID: 224331594053107772} |
|||
m_RootOrder: 2 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.8333333, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: -20, y: -20} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!224 &224331594053107772 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1957013230449424} |
|||
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: 224081490807871498} |
|||
- {fileID: 224604153360796628} |
|||
- {fileID: 224317587001371684} |
|||
m_Father: {fileID: 0} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 0} |
|||
m_AnchoredPosition: {x: 0, y: 747} |
|||
m_SizeDelta: {x: 0, y: 200} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|||
--- !u!224 &224412054771191868 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1474380241666086} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 0.6666, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 224317587001371684} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0, y: 0.5} |
|||
--- !u!224 &224462064455142346 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1727314949406214} |
|||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} |
|||
m_LocalPosition: {x: 0, y: 0, z: 0} |
|||
m_LocalScale: {x: 0.6666, y: 1, z: 1} |
|||
m_Children: [] |
|||
m_Father: {fileID: 224604153360796628} |
|||
m_RootOrder: 0 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0, y: 0} |
|||
m_AnchorMax: {x: 1, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: 0, y: 0} |
|||
m_Pivot: {x: 0, y: 0.5} |
|||
--- !u!224 &224604153360796628 |
|||
RectTransform: |
|||
m_ObjectHideFlags: 1 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 100100000} |
|||
m_GameObject: {fileID: 1136652597852676} |
|||
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: 224462064455142346} |
|||
- {fileID: 224126080652644190} |
|||
m_Father: {fileID: 224331594053107772} |
|||
m_RootOrder: 1 |
|||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} |
|||
m_AnchorMin: {x: 0.6666667, y: 0} |
|||
m_AnchorMax: {x: 0.8333333, y: 1} |
|||
m_AnchoredPosition: {x: 0, y: 0} |
|||
m_SizeDelta: {x: -20, y: -20} |
|||
m_Pivot: {x: 0.5, y: 0.5} |
|
|||
fileFormatVersion: 2 |
|||
guid: 43ade173a9121b64aa9bdf1dd64ab43d |
|||
NativeFormatImporter: |
|||
externalObjects: {} |
|||
mainObjectFileID: 100100000 |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using UnityEngine; |
|||
using UnityEngine.UI; |
|||
using UnityEngine.EventSystems; |
|||
|
|||
public class PlayModeTestsUI : MonoBehaviour |
|||
{ |
|||
static PlayModeTestsUI _instance; |
|||
public static PlayModeTestsUI instance |
|||
{ |
|||
get |
|||
{ |
|||
if (_instance == null ) |
|||
{ |
|||
_instance = FindObjectOfType<PlayModeTestsUI>(); |
|||
} |
|||
|
|||
return _instance; |
|||
} |
|||
} |
|||
public static bool Exists |
|||
{ |
|||
get |
|||
{ |
|||
if (_instance == null) |
|||
{ |
|||
_instance = FindObjectOfType<PlayModeTestsUI>(); |
|||
return false; |
|||
} |
|||
|
|||
return _instance != null; |
|||
} |
|||
} |
|||
|
|||
[SerializeField] int frameWait = 100; |
|||
|
|||
[SerializeField] GameObject resultsPanel, waitingPanel, scenePanel; |
|||
|
|||
[SerializeField] Text overallAvgText; |
|||
[SerializeField] RectTransform overallAvgFill; |
|||
[SerializeField] Text overallMaxText; |
|||
[SerializeField] RectTransform overallMaxFill; |
|||
|
|||
[SerializeField] RectTransform testResultPrefab; |
|||
[SerializeField] ScrollRect scrollView; |
|||
|
|||
[SerializeField] RawImage resultImage; |
|||
Material resultComparerMaterial; |
|||
|
|||
[SerializeField] Gradient fillGradient = new Gradient() { colorKeys = new GradientColorKey[] { |
|||
new GradientColorKey( Color.red, 0.5f), |
|||
new GradientColorKey( Color.yellow, 0.75f), |
|||
new GradientColorKey( Color.green, 0.97f), |
|||
} }; |
|||
|
|||
int numOfResults = 1; |
|||
List<GameObject> testResults; |
|||
int[] avgResults; |
|||
int[] maxResults; |
|||
Text[] resultsLabels; |
|||
Text[] resultsAvgValue; |
|||
RectTransform[] resultsAvgFill; |
|||
Text[] resultsMaxValue; |
|||
RectTransform[] resultsMaxFill; |
|||
|
|||
EventSystem eventSystem; |
|||
GameObject lastSelected; |
|||
|
|||
Texture2D currentTemplate; |
|||
RenderTexture currentRT; |
|||
RenderTexture resultRT; |
|||
|
|||
Text scenePanelText; |
|||
|
|||
Image waitingImage; |
|||
|
|||
// Use this for initialization
|
|||
void Start () |
|||
{ |
|||
// kill itself if already in scene.
|
|||
if (Exists) |
|||
{ |
|||
Debug.Log("Kill UIObject because it already exists."); |
|||
Destroy(gameObject); |
|||
return; |
|||
} |
|||
|
|||
DontDestroyOnLoad(gameObject); |
|||
|
|||
//Debug.Log("Need to create " + (UnityEngine.SceneManagement.SceneManager.sceneCountInBuildSettings - 1) + " test result object.");
|
|||
|
|||
// Set scroll view content to fit all results
|
|||
scrollView.content.anchorMin = new Vector2(0f, 0f); |
|||
scrollView.content.anchorMax = new Vector2(1f, 0f); |
|||
scrollView.content.offsetMin = new Vector2(0f, - (UnityEngine.SceneManagement.SceneManager.sceneCountInBuildSettings - 1f) * 200f); |
|||
scrollView.content.offsetMax = new Vector2(0f, 0f); |
|||
|
|||
// Init results arrays
|
|||
numOfResults = UnityEngine.SceneManagement.SceneManager.sceneCountInBuildSettings - 1; |
|||
avgResults = new int[numOfResults]; |
|||
maxResults = new int[numOfResults]; |
|||
resultsLabels = new Text[numOfResults]; |
|||
resultsAvgValue = new Text[numOfResults]; |
|||
resultsAvgFill = new RectTransform[numOfResults]; |
|||
resultsMaxValue = new Text[numOfResults]; |
|||
resultsMaxFill = new RectTransform[numOfResults]; |
|||
testResults = new List<GameObject>(numOfResults); |
|||
|
|||
// Create results UI
|
|||
for (int i = 0; i < numOfResults; ++i) |
|||
{ |
|||
RectTransform singleTestResult = Instantiate(testResultPrefab); |
|||
|
|||
testResults.Add(singleTestResult.gameObject); |
|||
resultsLabels[i] = singleTestResult.Find("Label").GetComponent<Text>(); |
|||
resultsAvgValue[i] = singleTestResult.Find("Avg_Value/Text").GetComponent<Text>(); |
|||
resultsAvgFill[i] = singleTestResult.Find("Avg_Value/Fill").GetComponent<RectTransform>(); |
|||
resultsMaxValue[i] = singleTestResult.Find("Max_Value/Text").GetComponent<Text>(); |
|||
resultsMaxFill[i] = singleTestResult.Find("Max_Value/Fill").GetComponent<RectTransform>(); |
|||
|
|||
singleTestResult.SetParent(scrollView.content); |
|||
singleTestResult.anchorMin = new Vector2(0, 0); |
|||
singleTestResult.anchorMax = new Vector2(1, 0); |
|||
singleTestResult.offsetMin = new Vector2(0, scrollView.content.rect.height - (i + 1) * 200f); |
|||
singleTestResult.offsetMax = new Vector2(0, singleTestResult.offsetMin.y + 200f); |
|||
|
|||
int sceneIndex = i; |
|||
singleTestResult.GetComponent<Button>().onClick.AddListener(delegate () { LoadSceneResult(sceneIndex); }); |
|||
|
|||
//* Test the values
|
|||
SetResult(i, 1.0f * i / (numOfResults - 1), 0.5f); |
|||
} |
|||
CalculateOverall(); |
|||
|
|||
scrollView.Rebuild( UnityEngine.UI.CanvasUpdate.PostLayout ); |
|||
|
|||
eventSystem = GetComponentInChildren<EventSystem>(); |
|||
eventSystem.SetSelectedGameObject(testResults[0]); |
|||
|
|||
resultsPanel.SetActive(false); |
|||
waitingPanel.SetActive(false); |
|||
scenePanel.SetActive(false); |
|||
|
|||
resultComparerMaterial = Instantiate( resultImage.material ); |
|||
resultImage.material = resultComparerMaterial; |
|||
|
|||
// Initialize render textures
|
|||
currentRT = new RenderTexture(1920, 1080, 0, RenderTextureFormat.ARGB32); |
|||
resultRT = new RenderTexture(1920, 1080, 0, RenderTextureFormat.ARGB32); |
|||
|
|||
scenePanelText = scenePanel.transform.Find("Text").GetComponent<Text>(); |
|||
waitingImage = waitingPanel.transform.Find("Image").GetComponent<Image>(); |
|||
|
|||
// Load scenes and calculate the results.
|
|||
StartCoroutine(CalculateAllResults()); |
|||
} |
|||
|
|||
void SetResult(int _index, float _avgValue, float _maxValue) |
|||
{ |
|||
avgResults[_index] = Mathf.RoundToInt(_avgValue * 100f); |
|||
|
|||
resultsAvgValue[_index].text = avgResults[_index].ToString() + "%"; |
|||
resultsAvgFill[_index].localScale = new Vector3(_avgValue, 1f, 1f); |
|||
resultsAvgFill[_index].GetComponent<Image>().color = fillGradient.Evaluate(_avgValue); |
|||
|
|||
maxResults[_index] = Mathf.RoundToInt(_maxValue * 100f); |
|||
|
|||
resultsMaxValue[_index].text = maxResults[_index].ToString() + "%"; |
|||
resultsMaxFill[_index].localScale = new Vector3(_maxValue, 1f, 1f); |
|||
resultsAvgFill[_index].GetComponent<Image>().color = fillGradient.Evaluate(1f-_maxValue); |
|||
} |
|||
|
|||
void CalculateOverall() |
|||
{ |
|||
float overallAvgResult = 0f; |
|||
float overallMaxResult = 0f; |
|||
for (int i=0; i<numOfResults; ++i) |
|||
{ |
|||
overallAvgResult += 1.0f * avgResults[i]; |
|||
overallMaxResult += 1.0f * maxResults[i]; |
|||
} |
|||
overallAvgResult /= numOfResults; |
|||
overallMaxResult /= numOfResults; |
|||
|
|||
overallAvgFill.localScale = new Vector3(overallAvgResult * 0.01f, 1f, 1f); |
|||
overallAvgText.text = Mathf.RoundToInt(overallAvgResult).ToString() + "%"; |
|||
overallAvgFill.GetComponent<Image>().color = fillGradient.Evaluate(overallAvgResult * 0.01f); |
|||
|
|||
overallMaxFill.localScale = new Vector3(overallMaxResult * 0.01f, 1f, 1f); |
|||
overallMaxText.text = Mathf.RoundToInt(overallMaxResult).ToString() + "%"; |
|||
overallMaxFill.GetComponent<Image>().color = fillGradient.Evaluate(1f- overallMaxResult * 0.01f); |
|||
} |
|||
|
|||
IEnumerator CalculateAllResults() |
|||
{ |
|||
resultsPanel.SetActive(false); |
|||
waitingPanel.SetActive(true); |
|||
scenePanel.SetActive(false); |
|||
|
|||
waitingImage.fillAmount = 0f; |
|||
|
|||
for (int i=0; i<numOfResults;++i) |
|||
{ |
|||
yield return CalculateResult(i); |
|||
|
|||
waitingImage.fillAmount = 1f * (1f+i) / numOfResults; |
|||
waitingImage.color = Color.Lerp(Color.blue, Color.green, 1f * i / (numOfResults - 1)); |
|||
} |
|||
|
|||
CalculateOverall(); |
|||
|
|||
UnityEngine.SceneManagement.SceneManager.LoadScene(0); |
|||
|
|||
resultsPanel.SetActive(true); |
|||
waitingPanel.SetActive(false); |
|||
scenePanel.SetActive(false); |
|||
|
|||
yield return null; |
|||
} |
|||
|
|||
IEnumerator CalculateResult(int _index) |
|||
{ |
|||
UnityEngine.SceneManagement.SceneManager.LoadScene(_index + 1); |
|||
|
|||
yield return null; |
|||
|
|||
var testSetup = FindObjectOfType<UnityEngine.Experimental.Rendering.SetupSceneForRenderPipelineTest>(); |
|||
testSetup.Setup(); |
|||
|
|||
for (int f = 0; f < frameWait; ++f) |
|||
{ |
|||
yield return null; |
|||
} |
|||
|
|||
resultsLabels[_index].text = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name; |
|||
|
|||
Debug.Log("Get " + UnityEngine.SceneManagement.SceneManager.GetActiveScene().name); |
|||
|
|||
// find the reference image
|
|||
currentTemplate = Resources.Load<Texture2D>(UnityEngine.SceneManagement.SceneManager.GetActiveScene().name + ".unity"); |
|||
resultImage.texture = currentTemplate; |
|||
|
|||
// Descriptor for the render textures
|
|||
RenderTextureDescriptor desc = new RenderTextureDescriptor() |
|||
{ |
|||
width = currentTemplate.width, |
|||
height = currentTemplate.height, |
|||
autoGenerateMips = false, |
|||
colorFormat = RenderTextureFormat.ARGB32, |
|||
msaaSamples = testSetup.msaaSamples, |
|||
sRGB = true, |
|||
volumeDepth = 1, |
|||
dimension = UnityEngine.Rendering.TextureDimension.Tex2D, |
|||
}; |
|||
|
|||
// re-create the render textures to correct size
|
|||
DestroyImmediate(currentRT); |
|||
currentRT = new RenderTexture(desc); |
|||
DestroyImmediate(resultRT); |
|||
resultRT = new RenderTexture(desc); |
|||
currentRT.filterMode = resultRT.filterMode = FilterMode.Bilinear; |
|||
currentRT.wrapMode = resultRT.wrapMode = TextureWrapMode.Clamp; |
|||
|
|||
Camera testCamera = testSetup.cameraToUse; |
|||
|
|||
// render the scene
|
|||
var oldTarget = testSetup.cameraToUse.targetTexture; |
|||
testSetup.cameraToUse.targetTexture = currentRT; |
|||
testSetup.cameraToUse.Render(); |
|||
testSetup.cameraToUse.targetTexture = oldTarget; |
|||
|
|||
// render comparision RT
|
|||
resultComparerMaterial.SetFloat("_ResultSplit", 1f); |
|||
resultComparerMaterial.SetInt("_Mode", 4); |
|||
resultComparerMaterial.SetTexture("_MainTex", currentTemplate); |
|||
resultComparerMaterial.SetTexture("_CompareTex", currentRT); |
|||
|
|||
Graphics.Blit(currentTemplate, resultRT, resultComparerMaterial); |
|||
|
|||
// Readback the rendered texture
|
|||
var oldActive = RenderTexture.active; |
|||
RenderTexture.active = resultRT; |
|||
var captured = new Texture2D(resultRT.width, resultRT.height, TextureFormat.RGB24, false); |
|||
captured.ReadPixels(new Rect(0, 0, testSetup.width, testSetup.height), 0, 0); |
|||
RenderTexture.active = oldActive; |
|||
|
|||
// compare
|
|||
Vector2 compareResult = ReadCompareTexture(captured); |
|||
|
|||
SetResult(_index, 1f - compareResult.x, compareResult.y); |
|||
|
|||
// Set the compare material values for display if needed
|
|||
resultComparerMaterial.SetFloat("_Split", 0.5f); |
|||
resultComparerMaterial.SetFloat("_ResultSplit", 0f); |
|||
resultComparerMaterial.SetInt("_Mode", 4); |
|||
|
|||
yield return null; |
|||
} |
|||
|
|||
private Vector2 ReadCompareTexture(Texture2D captured) |
|||
{ |
|||
if (captured == null) |
|||
return Vector2.one; |
|||
|
|||
var pixels = captured.GetPixels(); |
|||
int numberOfPixels = pixels.Length; |
|||
|
|||
float sumOfDiff = 0; |
|||
float maxDiff = 0f; |
|||
for (int i = 0; i < numberOfPixels; i++) |
|||
{ |
|||
maxDiff = Mathf.Max(maxDiff, pixels[i].r); |
|||
sumOfDiff += pixels[i].r; |
|||
} |
|||
|
|||
return new Vector2(Mathf.Sqrt(sumOfDiff / numberOfPixels), maxDiff); |
|||
} |
|||
|
|||
private Vector2 CompareTextures(Texture2D fromDisk, Texture2D captured) |
|||
{ |
|||
if (fromDisk == null || captured == null) |
|||
return Vector2.one; |
|||
|
|||
if (fromDisk.width != captured.width |
|||
|| fromDisk.height != captured.height) |
|||
return Vector2.one; |
|||
|
|||
var pixels1 = fromDisk.GetPixels(); |
|||
var pixels2 = captured.GetPixels(); |
|||
|
|||
if (pixels1.Length != pixels2.Length) |
|||
return Vector2.one; |
|||
|
|||
int numberOfPixels = pixels1.Length; |
|||
|
|||
float sumOfSquaredColorDistances = 0; |
|||
float maxSquaredColorDistance = 0f; |
|||
for (int i = 0; i < numberOfPixels; i++) |
|||
{ |
|||
Color p1 = pixels1[i]; |
|||
Color p2 = pixels2[i]; |
|||
|
|||
Color diff = p1 - p2; |
|||
diff = diff * diff; |
|||
maxSquaredColorDistance = Mathf.Max(maxSquaredColorDistance, (diff.r + diff.g + diff.b) / 3.0f); |
|||
sumOfSquaredColorDistances += (diff.r + diff.g + diff.b) / 3.0f; |
|||
} |
|||
|
|||
return new Vector2( Mathf.Sqrt(sumOfSquaredColorDistances / numberOfPixels), maxSquaredColorDistance ); |
|||
} |
|||
|
|||
void LoadSceneResult(int _index) |
|||
{ |
|||
if ((_index <0 ) || (_index >= ( UnityEngine.SceneManagement.SceneManager.sceneCountInBuildSettings-1))) return; |
|||
|
|||
Debug.Log("Load Scene Results : " + _index); |
|||
|
|||
// CalculateResult(_index);
|
|||
StartCoroutine(CalculateResult(_index)); |
|||
|
|||
scenePanelText.text = resultsLabels[_index].text; |
|||
|
|||
resultsPanel.SetActive(false); |
|||
waitingPanel.SetActive(false); |
|||
scenePanel.SetActive(true); |
|||
} |
|||
|
|||
// Update is called once per frame
|
|||
void Update () |
|||
{ |
|||
if (resultsPanel.activeSelf) |
|||
{ |
|||
if (eventSystem.currentSelectedGameObject != lastSelected) |
|||
{ |
|||
lastSelected = eventSystem.currentSelectedGameObject; |
|||
|
|||
if (testResults.Contains(lastSelected)) scrollView.verticalNormalizedPosition = 1.0f - 1.0f * testResults.IndexOf(lastSelected) / (numOfResults - 1f); |
|||
} |
|||
} |
|||
|
|||
if (scenePanel.activeSelf) |
|||
{ |
|||
// Scale the raw image to display at the correct aspect ratio
|
|||
Rect parentRect = resultImage.rectTransform.parent.GetComponent<RectTransform>().rect; |
|||
float parentRatio = parentRect.width / parentRect.height; |
|||
float templateRatio = resultImage.texture.width / resultImage.texture.height; |
|||
Debug.Log("Parent : " + parentRect.width + " / " + parentRect.height + " ||| Child : " + resultImage.texture.width + " / " + resultImage.texture.height); |
|||
float resultRatio = 2f * parentRatio / templateRatio; |
|||
if (resultRatio > 1) |
|||
{ |
|||
resultImage.rectTransform.anchorMin = new Vector2(0.5f / resultRatio, 0f); |
|||
resultImage.rectTransform.anchorMax = new Vector2(1f - 0.5f / resultRatio, 1f); |
|||
} |
|||
else |
|||
{ |
|||
resultImage.rectTransform.anchorMin = new Vector2(0f, 0.5f / resultRatio); |
|||
resultImage.rectTransform.anchorMax = new Vector2(1f, 1f - 0.5f / resultRatio); |
|||
} |
|||
|
|||
resultComparerMaterial.SetFloat("_Split", Mathf.Clamp01(resultComparerMaterial.GetFloat("_Split") + Input.GetAxis("Horizontal") * Time.deltaTime)); |
|||
resultComparerMaterial.SetFloat("_ResultSplit", Mathf.Clamp01(resultComparerMaterial.GetFloat("_ResultSplit") + Input.GetAxis("Vertical") * Time.deltaTime)); |
|||
|
|||
if (Input.GetButtonDown("Fire3")) resultComparerMaterial.SetInt("_Mode", (resultComparerMaterial.GetInt("_Mode") + 1) % 6); |
|||
|
|||
if (Input.GetButtonDown("Fire2")) |
|||
{ |
|||
resultsPanel.SetActive(true); |
|||
waitingPanel.SetActive(false); |
|||
scenePanel.SetActive(false); |
|||
} |
|||
} |
|||
} |
|||
} |
撰写
预览
正在加载...
取消
保存
Reference in new issue