From ed93ca372d0396a0ae2250e7530762442d5ccb45 Mon Sep 17 00:00:00 2001
From: unknown <2467568775@qq.com>
Date: Thu, 24 Apr 2025 17:58:40 +0800
Subject: [PATCH] =?UTF-8?q?=E5=9C=BA=E6=99=AF=E7=BE=8E=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/.idea.3DBody/.idea/.gitignore | 13 +
.idea/.idea.3DBody/.idea/encodings.xml | 4 +
.idea/.idea.3DBody/.idea/indexLayout.xml | 8 +
.idea/.idea.3DBody/.idea/vcs.xml | 6 +
.../Materials/0000000086C0A938.mat | 2 +-
.../Materials/00000000873B2B78.mat | 4 +-
.../Materials/0000000093266A38.mat | 2 +-
.../Materials/00000000957A53B8.mat | 2 +-
.../Materials/00000000961242F8.mat | 2 +-
.../头颈面部解剖FBX/Materials/20fe2d40.mat | 2 +-
.../Materials/Eyelashes_alp.mat | 5 +-
.../Materials/Male_Bushy_Base_Diffuse.mat | 5 +-
.../Materials/Male_Bushy_Diffuse.mat | 5 +-
.../Materials/SM_RenTi_Std_Cornea_R_Diffuse.mat | 2 +-
.../Materials/SM_RenTi_Std_Eye_R_Diffuse.mat | 2 +-
.../Materials/T_M_PiFu1_BaseColor.mat | 2 +-
.../头颈面部解剖FBX/Materials/bone_uv1_d.mat | 11 +-
.../头颈面部解剖FBX/Materials/bone_uv2_d.mat | 6 +-
.../头颈面部解剖FBX/Materials/bone_uv3_d.mat | 6 +-
.../头颈面部解剖FBX/Materials/bone_uv4_d.mat | 6 +-
.../Art/头颈面部解剖FBX/Materials/dongmai.mat | 2 +-
.../Art/头颈面部解剖FBX/Materials/jingmai.mat | 2 +-
.../Art/头颈面部解剖FBX/Materials/mat_0.mat | 2 +-
.../Materials/muscle_2_uv1_d.mat | 2 +-
.../Materials/muscle_uv1_d.mat | 2 +-
.../Materials/muscle_uv2_d.mat | 2 +-
.../Materials/muscle_uv3_d.mat | 2 +-
.../Materials/muscle_uv4_d.mat | 2 +-
.../Art/头颈面部解剖FBX/Materials/neizang.mat | 2 +-
.../头颈面部解剖FBX/Materials/neizang_1.mat | 2 +-
.../头颈面部解剖FBX/Materials/rendai_c_a.mat | 2 +-
.../Materials/zhongshu_c_a.mat | 2 +-
.../SM_GuGe.fbm/bone_uv2_d.jpg.meta | 2 +-
.../SM_JiRou.fbm/muscle_2_uv1_n.jpg.meta | 2 +-
Assets/Art/头颈面部解剖FBX/SM_PiFu.fbx.meta | 4 +-
.../URP/HighlightPlusForwardRenderer.asset | 38 ++-
Assets/PiFu.meta | 8 +
Assets/PiFu/ShinShader.mat | 55 ++++
Assets/PiFu/ShinShader.mat.meta | 8 +
Assets/PiFu/sources.meta | 8 +
Assets/PiFu/sources/KelemenLUT.png | Bin 0 -> 21231 bytes
Assets/PiFu/sources/KelemenLUT.png.meta | 170 ++++++++++
Assets/PiFu/sources/MicroNormal.png | Bin 0 -> 1920397 bytes
Assets/PiFu/sources/MicroNormal.png.meta | 134 ++++++++
Assets/PiFu/sources/SSSLUT.png | Bin 0 -> 10306 bytes
Assets/PiFu/sources/SSSLUT.png.meta | 158 +++++++++
.../PiFu/sources/SWAN_face_Micro Normal.tga | Bin 0 -> 2952236 bytes
.../sources/SWAN_face_Micro Normal.tga.meta | 179 +++++++++++
Assets/PiFu/sources/ShinShaderT.shader | 222 +++++++++++++
Assets/PiFu/sources/ShinShaderT.shader.meta | 10 +
Assets/PiFu/sources/ShinShader_Plus.shader | 268 +++++++++++++++
.../PiFu/sources/ShinShader_Plus.shader.meta | 10 +
.../RenTi/PiFu/sources/ShinShader.shader | 10 +-
.../Samples/Scripts/StylusLEDFeedback.cs | 10 +-
Assets/Scenes/Main.unity | 2 +-
Assets/Scenes/Test.unity | 304 +++++++++++++++++-
Assets/Scenes/Test/GlobalVolumeProfile.asset | 10 +-
Assets/Settings/UniversalRP-HighQuality.asset | 4 +-
ProjectSettings/QualitySettings.asset | 2 +-
59 files changed, 1651 insertions(+), 86 deletions(-)
create mode 100644 .idea/.idea.3DBody/.idea/.gitignore
create mode 100644 .idea/.idea.3DBody/.idea/encodings.xml
create mode 100644 .idea/.idea.3DBody/.idea/indexLayout.xml
create mode 100644 .idea/.idea.3DBody/.idea/vcs.xml
create mode 100644 Assets/PiFu.meta
create mode 100644 Assets/PiFu/ShinShader.mat
create mode 100644 Assets/PiFu/ShinShader.mat.meta
create mode 100644 Assets/PiFu/sources.meta
create mode 100644 Assets/PiFu/sources/KelemenLUT.png
create mode 100644 Assets/PiFu/sources/KelemenLUT.png.meta
create mode 100644 Assets/PiFu/sources/MicroNormal.png
create mode 100644 Assets/PiFu/sources/MicroNormal.png.meta
create mode 100644 Assets/PiFu/sources/SSSLUT.png
create mode 100644 Assets/PiFu/sources/SSSLUT.png.meta
create mode 100644 Assets/PiFu/sources/SWAN_face_Micro Normal.tga
create mode 100644 Assets/PiFu/sources/SWAN_face_Micro Normal.tga.meta
create mode 100644 Assets/PiFu/sources/ShinShaderT.shader
create mode 100644 Assets/PiFu/sources/ShinShaderT.shader.meta
create mode 100644 Assets/PiFu/sources/ShinShader_Plus.shader
create mode 100644 Assets/PiFu/sources/ShinShader_Plus.shader.meta
diff --git a/.idea/.idea.3DBody/.idea/.gitignore b/.idea/.idea.3DBody/.idea/.gitignore
new file mode 100644
index 00000000..a988d581
--- /dev/null
+++ b/.idea/.idea.3DBody/.idea/.gitignore
@@ -0,0 +1,13 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# Rider 忽略的文件
+/contentModel.xml
+/projectSettingsUpdater.xml
+/.idea.3DBody.iml
+/modules.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/.idea.3DBody/.idea/encodings.xml b/.idea/.idea.3DBody/.idea/encodings.xml
new file mode 100644
index 00000000..df87cf95
--- /dev/null
+++ b/.idea/.idea.3DBody/.idea/encodings.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.3DBody/.idea/indexLayout.xml b/.idea/.idea.3DBody/.idea/indexLayout.xml
new file mode 100644
index 00000000..7b08163c
--- /dev/null
+++ b/.idea/.idea.3DBody/.idea/indexLayout.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/.idea.3DBody/.idea/vcs.xml b/.idea/.idea.3DBody/.idea/vcs.xml
new file mode 100644
index 00000000..35eb1ddf
--- /dev/null
+++ b/.idea/.idea.3DBody/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/0000000086C0A938.mat b/Assets/Art/头颈面部解剖FBX/Materials/0000000086C0A938.mat
index 4ef8cd5b..f692cfe9 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/0000000086C0A938.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/0000000086C0A938.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/00000000873B2B78.mat b/Assets/Art/头颈面部解剖FBX/Materials/00000000873B2B78.mat
index c87e6cb3..8d8dc5b1 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/00000000873B2B78.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/00000000873B2B78.mat
@@ -88,7 +88,7 @@ Material:
- _Blend: 0
- _BlendModePreserveSpecular: 1
- _BlendOp: 0
- - _BumpScale: 2
+ - _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/0000000093266A38.mat b/Assets/Art/头颈面部解剖FBX/Materials/0000000093266A38.mat
index 1289abb7..4820158d 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/0000000093266A38.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/0000000093266A38.mat
@@ -107,7 +107,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/00000000957A53B8.mat b/Assets/Art/头颈面部解剖FBX/Materials/00000000957A53B8.mat
index 8d9b1ce9..3908247e 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/00000000957A53B8.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/00000000957A53B8.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/00000000961242F8.mat b/Assets/Art/头颈面部解剖FBX/Materials/00000000961242F8.mat
index 58b8036f..396c5014 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/00000000961242F8.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/00000000961242F8.mat
@@ -107,7 +107,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/20fe2d40.mat b/Assets/Art/头颈面部解剖FBX/Materials/20fe2d40.mat
index 131a0784..2061eb95 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/20fe2d40.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/20fe2d40.mat
@@ -107,7 +107,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.9
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/Eyelashes_alp.mat b/Assets/Art/头颈面部解剖FBX/Materials/Eyelashes_alp.mat
index cf6c5ecf..ed2683ae 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/Eyelashes_alp.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/Eyelashes_alp.mat
@@ -12,7 +12,6 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
@@ -89,7 +88,7 @@ Material:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- - _BlendModePreserveSpecular: 1
+ - _BlendModePreserveSpecular: 0
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
@@ -114,7 +113,7 @@ Material:
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- - _SrcBlend: 1
+ - _SrcBlend: 5
- _SrcBlendAlpha: 1
- _Surface: 1
- _UVSec: 0
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Base_Diffuse.mat b/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Base_Diffuse.mat
index 0dffeca6..5de34600 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Base_Diffuse.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Base_Diffuse.mat
@@ -12,7 +12,6 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
@@ -89,7 +88,7 @@ Material:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- - _BlendModePreserveSpecular: 1
+ - _BlendModePreserveSpecular: 0
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
@@ -114,7 +113,7 @@ Material:
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- - _SrcBlend: 1
+ - _SrcBlend: 5
- _SrcBlendAlpha: 1
- _Surface: 1
- _UVSec: 0
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Diffuse.mat b/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Diffuse.mat
index 27c3650c..b3b521e9 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Diffuse.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/Male_Bushy_Diffuse.mat
@@ -12,7 +12,6 @@ Material:
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- - _ALPHAPREMULTIPLY_ON
- _SURFACE_TYPE_TRANSPARENT
m_InvalidKeywords: []
m_LightmapFlags: 4
@@ -89,7 +88,7 @@ Material:
- _AlphaClip: 0
- _AlphaToMask: 0
- _Blend: 0
- - _BlendModePreserveSpecular: 1
+ - _BlendModePreserveSpecular: 0
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
@@ -114,7 +113,7 @@ Material:
- _Smoothness: 0
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- - _SrcBlend: 1
+ - _SrcBlend: 5
- _SrcBlendAlpha: 1
- _Surface: 1
- _UVSec: 0
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Cornea_R_Diffuse.mat b/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Cornea_R_Diffuse.mat
index 37f84938..53e1eb82 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Cornea_R_Diffuse.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Cornea_R_Diffuse.mat
@@ -38,7 +38,7 @@ Material:
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- - _Smoothness: 1
+ - _Smoothness: 0.6
m_Colors: []
m_BuildTextureStacks: []
--- !u!114 &7259690608283339364
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Eye_R_Diffuse.mat b/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Eye_R_Diffuse.mat
index 2479f129..aec988a7 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Eye_R_Diffuse.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/SM_RenTi_Std_Eye_R_Diffuse.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/T_M_PiFu1_BaseColor.mat b/Assets/Art/头颈面部解剖FBX/Materials/T_M_PiFu1_BaseColor.mat
index 84e68073..32e0a348 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/T_M_PiFu1_BaseColor.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/T_M_PiFu1_BaseColor.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 0
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv1_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv1_d.mat
index b078e78e..661b4929 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv1_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv1_d.mat
@@ -24,8 +24,7 @@ Material:
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
- m_ValidKeywords:
- - _NORMALMAP
+ m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
@@ -43,7 +42,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
- m_Texture: {fileID: 2800000, guid: 6931c2578085b9349b082db733a4a4cf, type: 3}
+ m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
@@ -121,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
@@ -131,8 +130,8 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _BaseColor: {r: 0.93207544, g: 0.93207544, b: 0.93207544, a: 1}
+ - _Color: {r: 0.93207544, g: 0.93207544, b: 0.93207544, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv2_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv2_d.mat
index cf1b8184..79276c3d 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv2_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv2_d.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
@@ -131,8 +131,8 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _BaseColor: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
+ - _Color: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv3_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv3_d.mat
index 216accbe..1ea49702 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv3_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv3_d.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
@@ -131,8 +131,8 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _BaseColor: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
+ - _Color: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv4_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv4_d.mat
index 5df0be23..52c5a5de 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/bone_uv4_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/bone_uv4_d.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.4
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
@@ -131,8 +131,8 @@ Material:
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- - _Color: {r: 1, g: 1, b: 1, a: 1}
+ - _BaseColor: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
+ - _Color: {r: 0.93333334, g: 0.93333334, b: 0.93333334, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/dongmai.mat b/Assets/Art/头颈面部解剖FBX/Materials/dongmai.mat
index 7a7dc807..20018d2a 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/dongmai.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/dongmai.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/jingmai.mat b/Assets/Art/头颈面部解剖FBX/Materials/jingmai.mat
index 0b4c770b..262900df 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/jingmai.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/jingmai.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/mat_0.mat b/Assets/Art/头颈面部解剖FBX/Materials/mat_0.mat
index d4d355cd..a5bf8804 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/mat_0.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/mat_0.mat
@@ -120,7 +120,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/muscle_2_uv1_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/muscle_2_uv1_d.mat
index d2c52d56..11664ed4 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/muscle_2_uv1_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/muscle_2_uv1_d.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv1_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv1_d.mat
index b128665b..37705941 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv1_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv1_d.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv2_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv2_d.mat
index b5395c59..921baf51 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv2_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv2_d.mat
@@ -110,7 +110,7 @@ Material:
- _ReceiveShadows: 1
- _SampleGI: 0
- _Shininess: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessSource: 0
- _SmoothnessTextureChannel: 0
- _SpecSource: 0
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv3_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv3_d.mat
index 78e0ad75..1675f7ca 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv3_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv3_d.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv4_d.mat b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv4_d.mat
index 77df0e12..91f471ac 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv4_d.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/muscle_uv4_d.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/neizang.mat b/Assets/Art/头颈面部解剖FBX/Materials/neizang.mat
index df7cfa89..c743bf2d 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/neizang.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/neizang.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/neizang_1.mat b/Assets/Art/头颈面部解剖FBX/Materials/neizang_1.mat
index 0a511120..702471cf 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/neizang_1.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/neizang_1.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/rendai_c_a.mat b/Assets/Art/头颈面部解剖FBX/Materials/rendai_c_a.mat
index c2906b01..35906e0e 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/rendai_c_a.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/rendai_c_a.mat
@@ -121,7 +121,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/Materials/zhongshu_c_a.mat b/Assets/Art/头颈面部解剖FBX/Materials/zhongshu_c_a.mat
index 61d27f49..62ccd699 100644
--- a/Assets/Art/头颈面部解剖FBX/Materials/zhongshu_c_a.mat
+++ b/Assets/Art/头颈面部解剖FBX/Materials/zhongshu_c_a.mat
@@ -108,7 +108,7 @@ Material:
- _QueueOffset: 0
- _ReceiveShadows: 1
- _SampleGI: 0
- - _Smoothness: 1
+ - _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
diff --git a/Assets/Art/头颈面部解剖FBX/SM_GuGe.fbm/bone_uv2_d.jpg.meta b/Assets/Art/头颈面部解剖FBX/SM_GuGe.fbm/bone_uv2_d.jpg.meta
index a5ac39a3..112f771c 100644
--- a/Assets/Art/头颈面部解剖FBX/SM_GuGe.fbm/bone_uv2_d.jpg.meta
+++ b/Assets/Art/头颈面部解剖FBX/SM_GuGe.fbm/bone_uv2_d.jpg.meta
@@ -25,7 +25,7 @@ TextureImporter:
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
- ignoreMipmapLimit: 0
+ ignoreMipmapLimit: 1
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
diff --git a/Assets/Art/头颈面部解剖FBX/SM_JiRou.fbm/muscle_2_uv1_n.jpg.meta b/Assets/Art/头颈面部解剖FBX/SM_JiRou.fbm/muscle_2_uv1_n.jpg.meta
index 60ee2b1a..20e85589 100644
--- a/Assets/Art/头颈面部解剖FBX/SM_JiRou.fbm/muscle_2_uv1_n.jpg.meta
+++ b/Assets/Art/头颈面部解剖FBX/SM_JiRou.fbm/muscle_2_uv1_n.jpg.meta
@@ -35,7 +35,7 @@ TextureImporter:
textureSettings:
serializedVersion: 2
filterMode: 1
- aniso: 2
+ aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
diff --git a/Assets/Art/头颈面部解剖FBX/SM_PiFu.fbx.meta b/Assets/Art/头颈面部解剖FBX/SM_PiFu.fbx.meta
index d5d56dde..02a920f6 100644
--- a/Assets/Art/头颈面部解剖FBX/SM_PiFu.fbx.meta
+++ b/Assets/Art/头颈面部解剖FBX/SM_PiFu.fbx.meta
@@ -43,7 +43,7 @@ ModelImporter:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: phong2
- second: {fileID: 2100000, guid: a0769b498922a124f912c5c31901747d, type: 2}
+ second: {fileID: 2100000, guid: 2af855ba8bd3394429a4c766010fe705, type: 2}
materials:
materialImportMode: 2
materialName: 0
@@ -111,7 +111,7 @@ ModelImporter:
strictVertexDataChecks: 0
tangentSpace:
normalSmoothAngle: 60
- normalImportMode: 0
+ normalImportMode: 1
tangentImportMode: 3
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
diff --git a/Assets/HighlightPlus/Pipelines/URP/HighlightPlusForwardRenderer.asset b/Assets/HighlightPlus/Pipelines/URP/HighlightPlusForwardRenderer.asset
index 8e75e910..481fafff 100644
--- a/Assets/HighlightPlus/Pipelines/URP/HighlightPlusForwardRenderer.asset
+++ b/Assets/HighlightPlus/Pipelines/URP/HighlightPlusForwardRenderer.asset
@@ -15,6 +15,41 @@ MonoBehaviour:
m_Active: 1
renderPassEvent: 500
clearStencil: 0
+--- !u!114 &-5981737719356054098
+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: f62c9c65cf3354c93be831c8bc075510, type: 3}
+ m_Name: ScreenSpaceAmbientOcclusion
+ m_EditorClassIdentifier:
+ m_Active: 1
+ m_Settings:
+ AOMethod: 1
+ Downsample: 0
+ AfterOpaque: 0
+ Source: 1
+ NormalSamples: 1
+ Intensity: 1
+ DirectLightingStrength: 0.25
+ Radius: 0.035
+ Samples: 0
+ BlurQuality: 1
+ Falloff: 100
+ SampleCount: -1
+ m_BlueNoise256Textures:
+ - {fileID: 2800000, guid: 36f118343fc974119bee3d09e2111500, type: 3}
+ - {fileID: 2800000, guid: 4b7b083e6b6734e8bb2838b0b50a0bc8, type: 3}
+ - {fileID: 2800000, guid: c06cc21c692f94f5fb5206247191eeee, type: 3}
+ - {fileID: 2800000, guid: cb76dd40fa7654f9587f6a344f125c9a, type: 3}
+ - {fileID: 2800000, guid: e32226222ff144b24bf3a5a451de54bc, type: 3}
+ - {fileID: 2800000, guid: 3302065f671a8450b82c9ddf07426f3a, type: 3}
+ - {fileID: 2800000, guid: 56a77a3e8d64f47b6afe9e3c95cb57d5, type: 3}
+ m_Shader: {fileID: 4800000, guid: 0849e84e3d62649e8882e9d6f056a017, type: 3}
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -32,7 +67,8 @@ MonoBehaviour:
hdrDebugViewPS: {fileID: 4800000, guid: 573620ae32aec764abd4d728906d2587, type: 3}
m_RendererFeatures:
- {fileID: -7137549924450841197}
- m_RendererFeatureMap:
+ - {fileID: -5981737719356054098}
+ m_RendererFeatureMap: ae253aa23c99fcac
m_UseNativeRenderPass: 0
postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
xrSystemData: {fileID: 11400000, guid: 60e1133243b97e347b653163a8c01b64, type: 2}
diff --git a/Assets/PiFu.meta b/Assets/PiFu.meta
new file mode 100644
index 00000000..ac83b57f
--- /dev/null
+++ b/Assets/PiFu.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 60df44801768d664696574f0d5317748
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/PiFu/ShinShader.mat b/Assets/PiFu/ShinShader.mat
new file mode 100644
index 00000000..bc03db35
--- /dev/null
+++ b/Assets/PiFu/ShinShader.mat
@@ -0,0 +1,55 @@
+%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: ShinShader
+ m_Shader: {fileID: 4800000, guid: dd69ac06a5c2b3a438a4828c53623d51, 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: {}
+ disabledShaderPasses: []
+ m_LockedProperties:
+ m_SavedProperties:
+ serializedVersion: 3
+ m_TexEnvs:
+ - _DetailNormal:
+ m_Texture: {fileID: 2800000, guid: c6ee1a864b8c3544599ef1c26bd7bdfd, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _KelemenLUT:
+ m_Texture: {fileID: 2800000, guid: a050a0ef3b2729e4e9b5eb76a4bed2e6, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _MainTex:
+ m_Texture: {fileID: 2800000, guid: 2bb2da8e25419884c8d5c8ee345c4444, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _Normal:
+ m_Texture: {fileID: 2800000, guid: f1bb6311fb29e034c8fa9993da329801, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ - _SSSLut:
+ m_Texture: {fileID: 2800000, guid: 49ff115e6de12f344bfc2eda7b889c31, type: 3}
+ m_Scale: {x: 1, y: 1}
+ m_Offset: {x: 0, y: 0}
+ m_Ints: []
+ m_Floats:
+ - _DetailNormalScale: 0.02
+ - _NormalBlend: 0.504
+ - _NormalScale: 1
+ - _Roughness0: 10
+ - _Roughness1: 60
+ - _SSSY: 1
+ m_Colors: []
+ m_BuildTextureStacks: []
diff --git a/Assets/PiFu/ShinShader.mat.meta b/Assets/PiFu/ShinShader.mat.meta
new file mode 100644
index 00000000..cb23f7aa
--- /dev/null
+++ b/Assets/PiFu/ShinShader.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2af855ba8bd3394429a4c766010fe705
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 2100000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/PiFu/sources.meta b/Assets/PiFu/sources.meta
new file mode 100644
index 00000000..7e5c8df9
--- /dev/null
+++ b/Assets/PiFu/sources.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: d0532e587fb86a5478027eb3c2a349a6
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/PiFu/sources/KelemenLUT.png b/Assets/PiFu/sources/KelemenLUT.png
new file mode 100644
index 0000000000000000000000000000000000000000..598d19887cf178d2fdd7955122b8124eeb238c5c
GIT binary patch
literal 21231
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
Sz-){F0000j(<
literal 0
HcmV?d00001
diff --git a/Assets/PiFu/sources/KelemenLUT.png.meta b/Assets/PiFu/sources/KelemenLUT.png.meta
new file mode 100644
index 00000000..09d35480
--- /dev/null
+++ b/Assets/PiFu/sources/KelemenLUT.png.meta
@@ -0,0 +1,170 @@
+fileFormatVersion: 2
+guid: e20b64fa8592a7249a93009426f401d9
+TextureImporter:
+ internalIDToNameTable: []
+ externalObjects: {}
+ serializedVersion: 11
+ mipmaps:
+ mipMapMode: 0
+ enableMipMap: 0
+ 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
+ ignoreMasterTextureLimit: 0
+ grayScaleToAlpha: 0
+ generateCubemap: 6
+ cubemapConvolution: 0
+ seamlessCubemap: 0
+ textureFormat: 1
+ maxTextureSize: 2048
+ textureSettings:
+ serializedVersion: 2
+ filterMode: 1
+ aniso: 1
+ mipBias: 0
+ wrapU: 1
+ wrapV: 1
+ wrapW: 1
+ nPOTScale: 1
+ lightmap: 0
+ compressionQuality: 50
+ spriteMode: 0
+ spriteExtrude: 1
+ spriteMeshType: 1
+ alignment: 0
+ spritePivot: {x: 0.5, y: 0.5}
+ spritePixelsToUnits: 100
+ spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+ spriteGenerateFallbackPhysicsShape: 1
+ alphaUsage: 1
+ alphaIsTransparency: 0
+ spriteTessellationDetail: -1
+ textureType: 0
+ textureShape: 1
+ singleChannelComponent: 0
+ flipbookRows: 1
+ flipbookColumns: 1
+ maxTextureSizeSet: 0
+ compressionQualitySet: 0
+ textureFormatSet: 0
+ ignorePngGamma: 0
+ applyGammaDecoding: 1
+ 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: 1
+ - 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
+ - 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
+ - serializedVersion: 3
+ buildTarget: Windows Store Apps
+ 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/Assets/PiFu/sources/MicroNormal.png b/Assets/PiFu/sources/MicroNormal.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a8ca92cda284025fd5c5fc221fec7cd2b169e0b
GIT binary patch
literal 1920397
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