add numberstand to downcount

This commit is contained in:
2025-12-03 01:44:40 +00:00
parent d3deec95c8
commit 7a0fbeed7e
263 changed files with 79872 additions and 3086 deletions

View File

@@ -0,0 +1,25 @@
# License (VRCMarker Pro)
## Personal License
Under the **Personal License**, you are permitted to:
- Create modifications of the asset.
- Upload the asset and its modifications to both personal public and private worlds.
However, the following actions are **prohibited**:
- Reselling the asset on its own.
- Including the asset in any world package for sale or distribution.
## Commercial License
Under the **Commercial License**, you are permitted to:
- Include the asset in world packages for sale, provided that the total price of the world package is **higher than the original price of the asset**.
- Upload the asset to other users' accounts.
The following restrictions apply:
- Redistribution of the asset by itself, either in its original form or as a modification, is strictly prohibited.
- Any asset sold or transferred under this license retains the same rights and restrictions as a personal license for the recipient.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,33 @@
%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: Blit
m_Shader: {fileID: 4800000, guid: 497a62d2fd9f0784faeda3d7ce4b734c, 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:
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats: []
m_Colors: []
m_BuildTextureStacks: []

View File

@@ -0,0 +1,87 @@
%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: Eraser
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _ALPHABLEND_ON
- _GLOSSYREFLECTIONS_OFF
- _SPECULARHIGHLIGHTS_OFF
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Mode: 2
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 0
- _SrcBlend: 5
- _UVSec: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 0.504717, b: 0.504717, a: 0.5019608}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,85 @@
%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: Mesh Material
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- _DETAIL_MULX2
- _METALLICGLOSSMAP
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 2800000, guid: 1dde9dea9fde00b4c84b54b9cbd7cf8c, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 2800000, guid: 2266ceb3ce4395b419aa77cb2ba8cda1, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 2800000, guid: 32ba2efc30114614398b365a61e911a2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 6f1eeed6c99a3354585fa506b71928ad, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 2800000, guid: 287695eb54e7d2f469656e5fb688b3d3, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 2800000, guid: 39ccbdb618321dd49a5480f989f85ce2, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 0.813
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0.3490566, g: 0.3490566, b: 0.3490566, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,83 @@
%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: Reticle
m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0}
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:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.16470589, g: 0.6666667, b: 0.7568628, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,42 @@
%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: Trail
m_Shader: {fileID: 4800000, guid: 00cf77937aeaa2148a9a67fb9f54a420, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2450
stringTagMap: {}
disabledShaderPasses:
- ALWAYS
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _PositionData:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _EnableLightVolumes: 0
- _GradientLength: 2
- _GradientPeriod: 256
- _LightVolumesInfluence: 0.95
- _Scale: 0.5
- _StencilRef: 0
- _SubdivideDistance: 3
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,95 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &6806962436988251533
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6882426716860169360}
- component: {fileID: 326895451638130807}
- component: {fileID: 3172620725429645201}
- component: {fileID: 6659966616668039408}
m_Layer: 0
m_Name: Cube
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6882426716860169360
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6806962436988251533}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &326895451638130807
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6806962436988251533}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &3172620725429645201
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6806962436988251533}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 42da8200c1e447a40b5cc30ba1856dd6, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!65 &6659966616668039408
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6806962436988251533}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}

View File

@@ -0,0 +1,78 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Debug
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _GLOSSYREFLECTIONS_OFF _SPECULARHIGHLIGHTS_OFF
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 10
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _Mode: 3
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 0
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 0, b: 0, a: 0.36862746}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,2 @@
This mesh doesnt actually take up that much space in the build, its only about 300kb and speeds up initialization of the world, since the line renderer data can be pregenerated.
Ideally this could be a static field but we cant have nice things in udon.

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -0,0 +1,39 @@
%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: Hidden_VRCMarker Internal_Trail Renderer
m_Shader: {fileID: 4800000, guid: 00cf77937aeaa2148a9a67fb9f54a420, 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:
- _PositionData:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _EnableLightVolumes: 0
- _GradientPeriod: 256
- _Scale: 0.5
- _StencilRef: 0
- _SubdivideDistance: 3
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,445 @@
Shader "Hidden/VRCMarker Internal/Blit"
{
Properties
{
_MainTex ("Texture", any) = "" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
Cull Off
Lighting Off
ZWrite Off
ZTest Always
CGINCLUDE
#pragma vertex vert
#pragma fragment frag
#include "Line.cginc"
#include "UnityCG.cginc"
float3 _WritePosition;
uint _WriteIndex;
Texture2D<float4> _MainTex;
SamplerState sampler_MainTex;
float3 _ErasePosition;
float _EraseDistance;
uint4 _WriteIndexRange;
float4 _WriteParams;
cbuffer WriteData
{
float _VRCMWritePositions[1023];
}
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
ENDCG
Pass
{
Name "Write (0)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
float4 color = 0;
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint index = CoordsToIndex(i.uv);
if (index == (_WriteIndex + 1) % COUNT)
{
return 0;
}
else if (index != _WriteIndex)
{
discard;
}
color.xyz = _WritePosition;
if (index == LAST_INDEX)
{
return 0;
}
// color.a = _Time.y + 0.5f;
// if (all(color.xyz) == 0) color.a = 0;
return color;
}
ENDCG
}
Pass
{
Name "Erase (1)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
// uint2 coords = uint2(i.uv.x * RESOLUTION.x, i.uv.y * RESOLUTION.y);
// uint index = (coords.x * RESOLUTION.x) + (coords.y);
float4 rt = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
float3 position = rt.xyz;
// float3 position = _MainTex[IndexToCoords(index)].xyz;
float4 color = rt;
if (distance(_ErasePosition, position) < _EraseDistance)
{
color = 0;
}
return color;
}
ENDCG
}
Pass
{
Name "Copy (2)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
float4 color = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
return color;
}
ENDCG
}
Pass
{
Name "Write Range (3)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
float4 color = 0;
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint index = CoordsToIndex(i.uv);
if (index == LAST_INDEX)
{
return 0;
}
bool timestamp = _WriteIndexRange.z;
uint arrayIndex = (index * 3);
uint start = _WriteIndexRange.x;
uint count = _WriteIndexRange.y;
uint end = start + count;
uint startIndex = start / 3;
uint endIndex = end / 3;
bool wrapAround = endIndex > COUNT;
uint newLineCount = (count / 3) - (COUNT - startIndex);
if (wrapAround && index <= newLineCount)
{
return 0;
// index += endIndex - startIndex - 1;
// arrayIndex = (index * 3);
}
if (index < startIndex || index > endIndex)
{
discard;
return 0;
}
if (index == endIndex % COUNT)
{
return 0;
}
arrayIndex -= start;
// arrayIndex = clamp(arrayIndex, 0, 1022);
color.xyz = float3(_VRCMWritePositions[arrayIndex], _VRCMWritePositions[arrayIndex + 1], _VRCMWritePositions[arrayIndex + 2]);
if (timestamp && all(color.xyz) != 0)
{
float syncTimeOffset = _WriteParams.x;
// float syncTimeOffset = 0;
float count = abs(endIndex - startIndex);
// float timeIncrement = 0.02f;
float syncInterval = 1.0 / 3.0;
float timeIncrement = ((syncInterval - syncTimeOffset) / count);
color.a = _Time.y + (float(arrayIndex / 3) * timeIncrement) + syncTimeOffset;
}
return color;
}
ENDCG
}
Pass
{
Name "Copy To RFloat (4)"
CGPROGRAM
float frag (v2f i) : SV_Target
{
float color = 0;
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint2 res = RESOLUTION * 2;
uint index = CoordsToIndex(i.uv, res);
float3 position = _MainTex[IndexToCoords(index / 3)].xyz;
uint component = index % 3;
color = position[component];
return color;
}
ENDCG
}
Pass
{
Name "Copy To ZOrder Curve (5)"
CGPROGRAM
uint _CopyOffset;
float4 frag (v2f i) : SV_Target
{
float4 color = 0;
#ifdef UNITY_UV_STARTS_AT_TOP
// i.uv.y = 1.0 - i.uv.y;z
#endif
uint zIndex = UVToIndex(i.uv * RESOLUTION.x);
if (_CopyOffset > 0)
{
zIndex += _CopyOffset;
zIndex %= (COUNT - 1);
}
float3 position = _MainTex[IndexToCoords(zIndex)].xyz;
// color.a = _Time.y + 0.5f;
// if (all(color.xyz) == 0) color.a = 0;
return float4(position, 0);
}
ENDCG
}
Pass
{
Name "GenerateActiveTexelMap (6)"
CGPROGRAM
float frag (v2f i) : SV_Target
{
float4 color = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
uint zIndex = UVToIndex(i.uv * RESOLUTION.x);
float4 previousColor = _MainTex[IndexToUV(zIndex-1)];
if (!all(color == 0))
{
return 1;
}
else if (!all(previousColor == 0))
{
return 1;
}
else
{
return 0;
}
}
ENDCG
}
Pass
{
Name "Defragment (7)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint regularIndex = CoordsToIndex(i.uv);
int2 uv = ActiveTexelIndexToUV(regularIndex);
if (uv.x == -1)
{
return 0;
}
return _MainTex[uv];
}
ENDCG
}
Pass
{
Name "Erase Range (8)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
float4 rt = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
float3 position = rt.xyz;
float4 color = rt;
uint count = _WriteIndexRange.y;
UNITY_LOOP
for (uint index = 0; index < count; index += 3)
{
float3 erasePosition = float3(_VRCMWritePositions[index], _VRCMWritePositions[index + 1], _VRCMWritePositions[index + 2]);
if (distance(erasePosition, position) < _EraseDistance)
{
color = 0;
break;
}
}
return color;
}
ENDCG
}
Pass
{
Name "Count Active Texels (9)"
CGPROGRAM
float frag (v2f i) : SV_Target
{
float maxLod = round(log2(HEIGHT));
int3 uv = int3(0, 0, maxLod);
float count = (float)(1 << (uv.z + uv.z)) * _MainTex.Load(uv);
return count;
}
ENDCG
}
Pass
{
Name "Clear Timestamps (10)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
float4 color = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
return float4(color.xyz, 0);
}
ENDCG
}
Pass
{
Name "Undo (11)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint index = CoordsToIndex(i.uv);
bool shouldErase = false;
for (uint j = index; j < index + 32; j ++)
{
float3 position = _MainTex[IndexToCoords(j)].xyz;
if (j == _WriteIndex - 1 || j == _WriteIndex)
{
shouldErase = true;
break;
}
if (all(position == 0))
{
break;
}
}
if (!shouldErase)
{
discard;
}
return 0;
}
ENDCG
}
Pass
{
Name "WriteZeroRange (12)"
CGPROGRAM
float4 frag (v2f i) : SV_Target
{
#ifdef UNITY_UV_STARTS_AT_TOP
i.uv.y = 1.0 - i.uv.y;
#endif
uint index = CoordsToIndex(i.uv);
float4 color = _MainTex.SampleLevel(sampler_MainTex, i.uv, 0);
uint start = _WriteIndexRange.x;
uint end = _WriteIndexRange.y;
if (index >= start && index < end)
{
color = 0;
}
return color;
}
ENDCG
}
}
}

View File

@@ -0,0 +1,58 @@
Shader "Hidden/VRCMarker Internal/Debug Alpha"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
// make fog work
#pragma multi_compile_fog
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f
{
float2 uv : TEXCOORD0;
UNITY_FOG_COORDS(1)
float4 vertex : SV_POSITION;
};
sampler2D _MainTex;
float4 _MainTex_ST;
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
UNITY_TRANSFER_FOG(o,o.vertex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
// sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
// apply fog
UNITY_APPLY_FOG(i.fogCoord, col);
return saturate(col.a);
}
ENDCG
}
}
}

View File

@@ -0,0 +1,138 @@
#define RESOLUTION uint2(256, 256)
#define COUNT (RESOLUTION.x * RESOLUTION.y)
#define LAST_INDEX (COUNT - 1)
#define WIDTH RESOLUTION.x
#define HEIGHT RESOLUTION.y
#define Z_ORDER_CURVE
Texture2D<float> _ActiveTexelMap;
float4 _ActiveTexelMap_TexelSize;
uint2 IndexToCoords(uint index)
{
return uint2(index % RESOLUTION.x, index / RESOLUTION.x);
}
uint CoordsToIndex(float2 uv, uint2 res = RESOLUTION)
{
uint2 coords = uint2(uv.y * res.y, uv.x * res.x);
uint index = (coords.x * res.x) + (coords.y);
return index;
}
// https://github.com/d4rkc0d3r/CompactSparseTextureDemo/
// adapted from: https://lemire.me/blog/2018/01/08/how-fast-can-you-bit-interleave-32-bit-integers/
uint InterleaveWithZero(uint word)
{
word = (word ^ (word << 8)) & 0x00ff00ff;
word = (word ^ (word << 4)) & 0x0f0f0f0f;
word = (word ^ (word << 2)) & 0x33333333;
word = (word ^ (word << 1)) & 0x55555555;
return word;
}
// adapted from: https://stackoverflow.com/questions/3137266/how-to-de-interleave-bits-unmortonizing
uint DeinterleaveWithZero(uint word)
{
word &= 0x55555555;
word = (word | (word >> 1)) & 0x33333333;
word = (word | (word >> 2)) & 0x0f0f0f0f;
word = (word | (word >> 4)) & 0x00ff00ff;
word = (word | (word >> 8)) & 0x0000ffff;
return word;
}
uint2 IndexToUV(uint index)
{
#ifdef Z_ORDER_CURVE
return uint2(DeinterleaveWithZero(index), DeinterleaveWithZero(index >> 1));
#else
return uint2(index % HEIGHT, index / HEIGHT);
#endif
}
uint UVToIndex(uint2 uv)
{
#ifdef Z_ORDER_CURVE
return InterleaveWithZero(uv.x) | (InterleaveWithZero(uv.y) << 1);
#else
return uv.x + uv.y * WIDTH;
#endif
}
float CountActiveTexels(int3 uv, int2 offset)
{
uv.xy += offset;
return (float)(1 << (uv.z + uv.z)) * _ActiveTexelMap.Load(uv);
}
float CountActiveTexels(int3 uv)
{
return CountActiveTexels(uv, int2(0, 0));
}
int2 ActiveTexelIndexToUV(float index)
{
float maxLod = round(log2(HEIGHT));
int3 uv = int3(0, 0, maxLod);
if (index >= CountActiveTexels(uv))
return -1;
float activeTexelSumInPreviousLods = 0;
while (uv.z >= 1)
{
uv += int3(uv.xy, -1);
float count00 = CountActiveTexels(uv);
float count01 = CountActiveTexels(uv, int2(1, 0));
float count10 = CountActiveTexels(uv, int2(0, 1));
bool in00 = index < (activeTexelSumInPreviousLods + count00);
bool in01 = index < (activeTexelSumInPreviousLods + count00 + count01);
bool in10 = index < (activeTexelSumInPreviousLods + count00 + count01 + count10);
if (in00)
{
uv.xy += int2(0, 0);
}
else if (in01)
{
uv.xy += int2(1, 0);
activeTexelSumInPreviousLods += count00;
}
else if (in10)
{
uv.xy += int2(0, 1);
activeTexelSumInPreviousLods += count00 + count01;
}
else
{
uv.xy += int2(1, 1);
activeTexelSumInPreviousLods += count00 + count01 + count10;
}
}
return uv.xy;
}
/*
MIT License
Copyright (c) 2022 d4rkpl4y3r
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/

View File

@@ -0,0 +1,832 @@
Shader "Hidden/VRCMarker Internal/Line Renderer"
{
Properties
{
[HideInInspector]_Color ("Color", Color) = (1,1,1,1)
[HideInInspector]_Scale ("Width", Range(0, 1)) = 0.5
_GradientPeriod ("Gradient Period", Float) = 256
//[NoScaleOffset] _MainTex("Albedo (RGB)", 2D) = "white" {}
////[NoScaleOffset] _MetallicGlossMap("Mask Map", 2D) = "white" {}
//[NoScaleOffset] _ColorMask("Color Mask Map", 2D) = "white" {}
//_Glossiness ("Smoothness", Range(0,1)) = 0.5
//_GradientLength ("Gradient Length", Float) = 2
[HideInInspector] _StencilRef ("", Float) = 0
_PositionData ("Data", 2D) = "white" {}
_SubdivideDistance ("Subdivide Distance", Float) = 3
[Toggle(_VRC_LIGHTVOLUMES)] _EnableLightVolumes ("VRC Light Volumes", Float) = 0
_LightVolumesInfluence ("VRC Light Volume Influence", Range(0,1)) = 0.9
}
CGINCLUDE
#pragma vertex vert
#pragma fragment frag
#ifdef SHADER_API_D3D11
#define USE_GEOM
#endif
#pragma multi_compile_instancing
#include "Line.cginc"
#include "UnityCG.cginc"
#pragma shader_feature_local_fragment _VRC_LIGHTVOLUMES
#ifdef _VRC_LIGHTVOLUMES
#include "Packages/red.sim.lightvolumes/Shaders/LightVolumes.cginc"
// fallback to 1.0
void LV_SampleLightProbe_1(out float3 L0, out float3 L1r, out float3 L1g, out float3 L1b) {
L0 = 1;
L1r = 1.0/3.0;
L1g = 1.0/3.0;
L1b = 1.0/3.0;
}
#define LV_SampleLightProbe LV_SampleLightProbe_1
#endif
half _LightVolumesInfluence;
half3 _Color;
half _OutlineValue;
half _OutlineHue;
half _Scale;
half _GradientPeriod;
half4 _Gradient[8];
uint _GradientLength;
uint _VertexCount;
float3 _LastPosition;
float _DummyZero;
float _OutlineWidth;
float _EraseDistance;
float3 _EraserPosition;
float _SubdivideDistance;
Texture2D<float4> _PositionData;
struct appdata
{
float4 vertex : POSITION; // not needed lol
uint vertexID : SV_VertexID;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
#ifdef USE_GEOM
struct v2g
{
float4 vertex : SV_POSITION;
uint vertexID : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct g2f
#else
struct v2f
#endif
{
float4 vertex : SV_POSITION;
float2 uv0 : TEXCOORD0;
nointerpolation bool isLine : TEXCOORD1;
half3 gradient : TEXCOORD2;
float3 position : TEXCOORD3;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
float3 centerEyePos()
{
// trail tube looks more convincing in vr without this
// #if defined(UNITY_STEREO_MULTIVIEW_ENABLED) || defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_SINGLE_PASS_STEREO)
// return 0.5 * (unity_StereoWorldSpaceCameraPos[0] + unity_StereoWorldSpaceCameraPos[1]);
// #else
return _WorldSpaceCameraPos;
// #endif
}
// thanks error.mdl for help
float3 billboardTriangle(float3 vertex, float3 triCenter)
{
vertex -= triCenter;
float3 head = centerEyePos();
float3 center2Head = head - triCenter;
float c2hLen = length(center2Head);
float c2hXZLen = length(center2Head.xz);
float sin1 = center2Head.y / c2hLen;
float cos1 = c2hXZLen / c2hLen;
float2x2 rot1 = float2x2(cos1, -sin1, -sin1, cos1);
vertex.zy = mul(rot1, vertex.zy);
float sin2 = center2Head.x / c2hXZLen;
float cos2 = center2Head.z / c2hXZLen;
float2x2 rot2 = float2x2(cos2, sin2, -sin2, cos2);
vertex.xz = mul(rot2, vertex.xz);
vertex += triCenter;
return vertex;
}
// vertices always set in this order, i hope
static const float2 offsets[7] =
{
float2(0, 0),
float2(0, 1),
float2(1, 1),
float2(1, 0),
float2(-0.077350269189625764509148780501f, 0),
float2(0.5f, 1),
float2(1.077350269189625764509148780501f, 0)
};
struct Gradient
{
int type;
int colorsLength;
half4 colors[8];
};
Gradient NewGradient(int type, int colorsLength, half4 colors[8])
{
Gradient output =
{
type, colorsLength, colors
};
return output;
}
half3 EvaluateGradient(Gradient gradient, half time)
{
half3 color = gradient.colors[0].rgb;
[unroll(6)]
for (int c = 1; c < gradient.colorsLength; c++)
{
half colorPos = saturate((time - gradient.colors[c - 1].w) / (gradient.colors[c].w - gradient.colors[c - 1].w)) * step(c, gradient.colorsLength - 1);
color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type));
}
return color;
}
half evaluateTime(uint id, half frequency)
{
half t = (sin((float)id / frequency) + 1.0) / 2.0;
return t;
}
#ifdef USE_GEOM
v2g vert (appdata v)
{
v2g o;
UNITY_INITIALIZE_OUTPUT(v2g, o);
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
o.vertex = v.vertex;
o.vertexID = v.vertexID;
return o;
}
#else
v2f vert(appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v); //Insert
UNITY_INITIALIZE_OUTPUT(v2f, o); //Insert
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); //Insert
uint index = v.vertexID / 7;
uint type = v.vertexID % 7;
bool isLine = type <= 3;
// float3 originalPos = v.vertex.xyz;
//v.vertex.xyz = _PositionData[uint2(0, index)].xyz;
float4 data0 = _PositionData[IndexToCoords(index)];
float4 data1 = _PositionData[IndexToCoords(index - 1)];
float3 start = data0.xyz;
float3 end = data1.xyz;
float timestamp0 = data0.a;
float timestamp1 = data1.a;
float time = _Time.y;
bool shouldDiscard = false;
if (all(start.xyz == end.xyz))
{
start = 0;
shouldDiscard = true;
}
if (timestamp0 > 0)
{
float increment = 0.02f;
float timeScale = 1.0f / increment;
float nextTime = _PositionData[IndexToCoords(index + 1)].a;
if (nextTime == 0) nextTime = timestamp1;
float timeDistance = abs(timestamp0 - nextTime);
// if (timeDistance == 0) timeDistance = 0.04;
// if (timeDistance > 0.49) timeDistance = 0.02;
float timeOffset = _Time.y - timestamp0;
float lerpTime = saturate(timeOffset / timeDistance);
if (all(end == 0)) end = start;
start = lerp(end, start, lerpTime);
if (timeOffset <= 0 || (_Time.y - timestamp1) <= 0)
{
shouldDiscard = true;
}
}
UNITY_BRANCH
if (shouldDiscard|| all(start.xyz == 0))
{
o.vertex = 0.0 / 0.0;
// o.vertex = asfloat(-1);
return o;
}
else
{
uint gradientTime = type <= 1 ? data1.a : data0.a;
float3 vertexPos = start;
float3 otherPos = end;
o.position = vertexPos;
if (isLine && type <= 1)
{
otherPos = start;
if (all(end != 0 && start == 0) || all(end == 0 && start != 0))
{
vertexPos = start;
}
else
{
vertexPos = end;
}
}
float2 offset = offsets[type];
#ifdef OUTLINE_PASS
_Scale += _OutlineWidth;
#endif
UNITY_BRANCH
if (isLine)
{
gradientTime = data0.a;
float3 v1 = otherPos - vertexPos;
float3 v2 = centerEyePos() - vertexPos;
float3 scaleDir = normalize(cross(v1, v2));
scaleDir *= _Scale;
if (offset.x > 0) scaleDir = -scaleDir;
// scaleDir *= offset.x * 2 - 1;
vertexPos += scaleDir * offset.y;
vertexPos -= scaleDir * (1 - offset.y);
}
else
{
float scaleFactor = 1.5;
float2 triangleOffset = offset * 2 - 1;
triangleOffset *= _Scale * scaleFactor;
triangleOffset.y += _Scale * scaleFactor * UNITY_PI * 0.106;
float3 vertexOffset = float3(triangleOffset.x, triangleOffset.y, 0);
float3 triangleVertex = float3(vertexPos.xy + triangleOffset, vertexPos.z);
vertexPos = billboardTriangle(triangleVertex, vertexPos);
}
o.vertex = mul(UNITY_MATRIX_VP, float4(vertexPos, 1.0));
// o.vertex = UnityObjectToClipPos(float4(originalPos, 1));
o.uv0 = offset;
o.isLine = isLine;
UNITY_BRANCH
if (_GradientLength > 0)
{
// half t = evaluateTime((gradientTime * 7) + type , _GradientPeriod);
half t = evaluateTime(v.vertexID, 256);
Gradient g = NewGradient(0, _GradientLength, _Gradient);
o.gradient = EvaluateGradient(g,t);
}
return o;
}
}
#endif
float3 CatmullRom(float3 p0, float3 p1, float3 p2, float3 p3, float t) {
float t2 = t * t;
float t3 = t2 * t;
float3 p = 0.5 * (
(2.0 * p1) +
(-p0 + p2) * t +
(2.0 * p0 - 5.0 * p1 + 4.0 * p2 - p3) * t2 +
(-p0 + 3.0 * p1 - 3.0 * p2 + p3) * t3
);
return p;
}
#ifdef USE_GEOM
[maxvertexcount(6)]
void geom(triangle v2g IN[3], inout TriangleStream<g2f> triStream)
{
g2f o1 = (g2f)0;
g2f o2[3] = { (g2f)0,(g2f)0,(g2f)0 };
#ifdef OUTLINE_PASS
_Scale += _OutlineWidth;
#endif
bool shouldSubvidide = false;
for(int i = 0; i < 3; i++)
{
UNITY_SETUP_INSTANCE_ID(IN[i]);
uint vertexID = IN[i].vertexID;
uint index = vertexID / 7;
uint type = vertexID % 7;
bool isLine = type <= 3;
// float3 originalPos = v.vertex.xyz;
//v.vertex.xyz = _PositionData[uint2(0, index)].xyz;
float4 data0 = _PositionData[IndexToCoords(index)];
float4 data1 = _PositionData[IndexToCoords(index - 1)];
float3 start = data0.xyz;
float3 end = data1.xyz;
// end = lerp(start.xyz, end.xyz, 0.5);
float timestamp0 = data0.a;
float timestamp1 = data1.a;
float time = _Time.y;
bool shouldDiscard = false;
if (all(start.xyz == end.xyz))
{
start = 0;
shouldDiscard = true;
}
if (timestamp0 > 0)
{
float increment = 0.02f;
float timeScale = 1.0f / increment;
float nextTime = _PositionData[IndexToCoords(index + 1)].a;
if (nextTime == 0) nextTime = timestamp1;
float timeDistance = abs(timestamp0 - nextTime);
// if (timeDistance == 0) timeDistance = 0.04;
// if (timeDistance > 0.49) timeDistance = 0.02;
float timeOffset = _Time.y - timestamp0;
float lerpTime = saturate(timeOffset / timeDistance);
if (all(end == 0)) end = start;
start = lerp(end, start, lerpTime);
if (timeOffset <= 0 || (_Time.y - timestamp1) <= 0)
{
shouldDiscard = true;
}
}
UNITY_BRANCH
if (shouldDiscard|| all(start.xyz == 0))
{
// o.vertex = 0.0 / 0.0;
// o.vertex = asfloat(-1);
// triStream.RestartStrip();
return;
}
else
{
float3 subdivide = 0;
if (!all(end.xyz == 0))
{
float distanceToCam = distance(end, centerEyePos());
UNITY_BRANCH
if (distanceToCam < _SubdivideDistance)
{
float3 previousPoint = _PositionData[IndexToCoords(index-2)];
float3 nextPoint = _PositionData[IndexToCoords(index+1)];
if (all(previousPoint == 0) || all(nextPoint.xyz == 0))
{
previousPoint = start;
nextPoint = end;
}
float tt = mad(sin(_Time.y), 0.5, 0.5);
float d1 = distance(previousPoint, start);
float d2 = distance(start, end);
float maxDistance = distance(start, end) * 3.0;
if (distance(previousPoint, start) > maxDistance)
{
previousPoint = start;
}
if (distance(nextPoint, end) > maxDistance)
{
nextPoint = end;
}
subdivide = CatmullRom(previousPoint, start, end, nextPoint, 0.5);
subdivide = lerp((start + end) / 2.0, subdivide, saturate((_SubdivideDistance - distanceToCam) * 3.0));
shouldSubvidide = true;
}
}
uint gradientTime = type <= 1 ? data1.a : data0.a;
UNITY_BRANCH
if (_GradientLength > 0)
{
// half t = evaluateTime((gradientTime * 7) + type , _GradientPeriod);
half t = evaluateTime(vertexID, 256);
Gradient g = NewGradient(0, _GradientLength, _Gradient);
o1.gradient = EvaluateGradient(g, t);
o2[i].gradient = o1.gradient;
}
float3 start1 = start;
float3 end1 = end;
// o1
{
if (shouldSubvidide)
{
start = subdivide;
}
float3 vertexPos = start;
float3 otherPos = end;
if (isLine && type <= 1)
{
otherPos = start;
if (all(end != 0 && start == 0) || all(end == 0 && start != 0))
{
vertexPos = start;
}
else
{
vertexPos = end;
}
}
float2 offset = offsets[type];
UNITY_BRANCH
if (isLine)
{
gradientTime = data0.a;
float3 v1 = otherPos - vertexPos;
float3 v2 = centerEyePos() - vertexPos;
float3 scaleDir = normalize(cross(v1, v2));
scaleDir *= _Scale;
if (offset.x > 0) scaleDir = -scaleDir;
// scaleDir *= offset.x * 2 - 1;
vertexPos += scaleDir * offset.y;
vertexPos -= scaleDir * (1 - offset.y);
}
else
{
float scaleFactor = 1.5;
float2 triangleOffset = offset * 2 - 1;
triangleOffset *= _Scale * scaleFactor;
triangleOffset.y += _Scale * scaleFactor * UNITY_PI * 0.106;
float3 vertexOffset = float3(triangleOffset.x, triangleOffset.y, 0);
float3 triangleVertex = float3(vertexPos.xy + triangleOffset, vertexPos.z);
vertexPos = billboardTriangle(triangleVertex, vertexPos);
}
o1.vertex = mul(UNITY_MATRIX_VP, float4(vertexPos, 1.0));
o1.position = start;
o1.uv0 = offset;
o1.isLine = isLine;
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o1);
triStream.Append(o1);
}
// o2
UNITY_BRANCH
if (shouldSubvidide)
{
start = start1;
end = subdivide;
float3 vertexPos = start;
float3 otherPos = end;
if (isLine && type <= 1)
{
otherPos = start;
if (all(end != 0 && start == 0) || all(end == 0 && start != 0))
{
vertexPos = start;
}
else
{
vertexPos = end;
}
}
float2 offset = offsets[type];
UNITY_BRANCH
if (isLine)
{
gradientTime = data0.a;
float3 v1 = otherPos - vertexPos;
float3 v2 = centerEyePos() - vertexPos;
float3 scaleDir = normalize(cross(v1, v2));
scaleDir *= _Scale;
if (offset.x > 0) scaleDir = -scaleDir;
// scaleDir *= offset.x * 2 - 1;
vertexPos += scaleDir * offset.y;
vertexPos -= scaleDir * (1 - offset.y);
}
else
{
float scaleFactor = 1.5;
float2 triangleOffset = offset * 2 - 1;
triangleOffset *= _Scale * scaleFactor;
triangleOffset.y += _Scale * scaleFactor * UNITY_PI * 0.106;
float3 vertexOffset = float3(triangleOffset.x, triangleOffset.y, 0);
float3 triangleVertex = float3(vertexPos.xy + triangleOffset, vertexPos.z);
vertexPos = billboardTriangle(triangleVertex, vertexPos);
}
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o2[i]);
o2[i].vertex = mul(UNITY_MATRIX_VP, float4(vertexPos, 1.0));
o2[i].uv0 = offset;
o2[i].isLine = isLine;
}
}
}
o2[0].isLine = o1.isLine;
o2[1].isLine = o1.isLine;
o2[2].isLine = o1.isLine;
o2[0].position = o1.position;
o2[1].position = o1.position;
o2[2].position = o1.position;
if (shouldSubvidide)
{
triStream.RestartStrip();
triStream.Append(o2[0]);
triStream.Append(o2[1]);
triStream.Append(o2[2]);
}
triStream.RestartStrip();
}
#endif
half3 HueShift(float3 In, float Offset)
{
float4 K = float4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
float4 P = lerp(float4(In.bg, K.wz), float4(In.gb, K.xy), step(In.b, In.g));
float4 Q = lerp(float4(P.xyw, In.r), float4(In.r, P.yzx), step(P.x, In.r));
float D = Q.x - min(Q.w, Q.y);
float E = 1e-10;
float3 hsv = float3(abs(Q.z + (Q.w - Q.y)/(6.0 * D + E)), D / (Q.x + E), Q.x);
float hue = hsv.x + Offset / 360;
hsv.x = (hue < 0)
? hue + 1
: (hue > 1)
? hue - 1
: hue;
float4 K2 = float4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
float3 P2 = abs(frac(hsv.xxx + K2.xyz) * 6.0 - K2.www);
return hsv.z * lerp(K2.xxx, saturate(P2 - K2.xxx), hsv.y);
}
float TriangleInsideQuad(float2 uv, float2 p0, float2 p1, float2 p2)
{
float e0 = (p1.x - p0.x) * (uv.y - p0.y) - (p1.y - p0.y) * (uv.x - p0.x);
float e1 = (p2.x - p1.x) * (uv.y - p1.y) - (p2.y - p1.y) * (uv.x - p1.x);
float e2 = (p0.x - p2.x) * (uv.y - p2.y) - (p0.y - p2.y) * (uv.x - p2.x);
return (e0 >= 0 && e1 >= 0 && e2 >= 0) ? 1.0 : 0.0;
}
#ifdef USE_GEOM
half4 frag(g2f i) : SV_Target
#else
half4 frag(v2f i) : SV_Target
#endif
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i); //Insert
half alpha = 1;
// uint samplecount = GetRenderTargetSampleCount();
bool inEraseRange = distance(_EraserPosition, i.position) < _EraseDistance;
bool eraseColor = false;
UNITY_BRANCH
if (!i.isLine)
{
float2 coord = i.uv0.xy;
coord.x -= 0.5;
coord.y -= 1./3.;
float circle = length(coord);
float size = 1.0 / 3.0;
float pwidth = max(fwidth(circle), 0.0001);
alpha = saturate((size - circle) / pwidth);
#ifndef OUTLINE_PASS
bool triangleOutline = 1 - TriangleInsideQuad(i.uv0, float2(0.5,0.94), float2(-0.02,0.03), float2(1.02,0.03));
if (inEraseRange && triangleOutline)
{
eraseColor = true;
alpha = 1;
}
#endif
}
else
{
float size = abs(i.uv0.y - 0.5) * 2;
size = 1-size;
float pwidth = max(fwidth(size), 0.0001);
alpha = saturate((size) / pwidth);
alpha = saturate(alpha + pwidth);
}
// alpha = alpha * samplecount + 0.5;
// cov = (1u << (uint)(alpha)) - 1u;
if (alpha < 0.1) discard;
half3 color = _GradientLength > 0 ? i.gradient : _Color;
#ifdef OUTLINE_PASS
color = HueShift(color, _OutlineHue);
color *= _OutlineValue;
#endif
if (eraseColor)
{
color = float3(1,0.1,0.1);
}
#ifdef _VRC_LIGHTVOLUMES
float3 up = float3(0,1,0);
float3 dir = normalize(_WorldSpaceCameraPos.xyz - i.position);
float3 L0, L1r, L1g, L1b;
LightVolumeSH(i.position, L0, L1r, L1g, L1b);
float3 sh9Dir = L1r.xyz * 0.333333 + L1g.xyz * 0.333333 + L1b.xyz * 0.333333;
float3 sh9DirAbs = float3(sh9Dir.x, abs(sh9Dir.y), sh9Dir.z);
half3 sh = LightVolumeEvaluate(sh9DirAbs, L0, L1r, L1g, L1b);
if (any(float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) != L0))
color.rgb *= lerp(1.0, sh, _LightVolumesInfluence);
#endif
return half4(color, alpha);
}
ENDCG
SubShader
{
Tags
{
"RenderType"="Opaque"
"DisableBatching" = "True"
}
// PC with Geometry shader
Pass
{
Cull Back
Tags { "LightMode" = "ForwardBase" "Queue"="AlphaTest" "RenderType"="TransparentCutout" }
AlphaToMask On
Stencil
{
Ref 128
Comp Always
Pass Replace
}
CGPROGRAM
#pragma target 5.0
#pragma require geometry
#pragma geometry geom
#pragma only_renderers d3d11
ENDCG
}
// Outline Pass PC only
Pass
{
Cull Back
Tags { "LightMode" = "Always" "Queue"="AlphaTest" "RenderType"="TransparentCutout" }
// ZWrite Off
// Blend SrcAlpha OneMinusSrcAlpha
AlphaToMask On
Stencil
{
Ref 128
Comp NotEqual
}
CGPROGRAM
#pragma target 5.0
#pragma require geometry
#pragma geometry geom
#pragma only_renderers d3d11
#pragma multi_compile OUTLINE_PASS
ENDCG
}
// Pass
// {
// Name "ShadowCaster"
// Tags { "LightMode" = "ShadowCaster" }
// ZWrite On ZTest LEqual Cull Off
// CGPROGRAM
// #pragma multi_compile_shadowcaster
// ENDCG
// }
}
SubShader
{
Tags
{
"RenderType"="Opaque"
"DisableBatching" = "True"
}
// quest
Pass
{
Cull Back
Tags { "LightMode" = "ForwardBase" "Queue"="AlphaTest" "RenderType"="TransparentCutout" }
AlphaToMask On
CGPROGRAM
#pragma exclude_renderers d3d11
ENDCG
}
}
}

View File

@@ -0,0 +1,209 @@
Shader "Hidden/VRCMarker Internal/Mesh"
{
Properties
{
_Color ("Color", Color) = (1,1,1,1)
[NoScaleOffset] _MainTex ("Desaturated Albedo (R), Color Mask B, Smoothness A", 2D) = "white" {}
_Decal ("Decal (RGB), Mask (A)", 2D) = "black" {}
//[NoScaleOffset] _Data("Occlusion G, Color Mask B, Smoothness A", 2D) = "white" {}
_Glossiness ("Smoothness", Range(0,1)) = 0.5
_AccentSaturation ("Saturation", Range(0,1)) = 0.8
[Space(10)]
[Toggle(_LTCGI)] _LTCGI ("Enable LTCGI", Float) = 0
}
SubShader
{
Tags { "RenderType"="Opaque" "LTCGI"="_LTCGI"}
LOD 200
CGPROGRAM
#pragma surface surf Standard addshadow
#pragma target 4.5
#pragma shader_feature_local _LTCGI
#ifdef SHADER_API_MOBILE
#undef _LTCGI
#endif
#ifndef SHADER_TARGET_SURFACE_ANALYSIS
#if defined(_LTCGI)
#include "Packages/at.pimaker.ltcgi/Shaders/LTCGI.cginc"
#endif
#endif
float GSAA(float3 worldNormal, float perceptualRoughness)
{
// Kaplanyan 2016, "Stable specular highlights"
// Tokuyoshi 2017, "Error Reduction and Simplification for Shading Anti-Aliasing"
// Tokuyoshi and Kaplanyan 2019, "Improved Geometric Specular Antialiasing"
// This implementation is meant for deferred rendering in the original paper but
// we use it in forward rendering as well (as discussed in Tokuyoshi and Kaplanyan
// 2019). The main reason is that the forward version requires an expensive transform
// of the half vector by the tangent frame for every light. This is therefore an
// approximation but it works well enough for our needs and provides an improvement
// over our original implementation based on Vlachos 2015, "Advanced VR Rendering".
float3 du = ddx(worldNormal);
float3 dv = ddy(worldNormal);
float variance = 0.15 * (dot(du, du) + dot(dv, dv));
float roughness = perceptualRoughness * perceptualRoughness;
float kernelRoughness = min(2.0 * variance, 0.1);
float squareRoughness = saturate(roughness * roughness + kernelRoughness);
return sqrt(sqrt(squareRoughness));
}
struct Gradient
{
int type;
int colorsLength;
half4 colors[8];
};
Gradient NewGradient(int type, int colorsLength, half4 colors[8])
{
Gradient output =
{
type, colorsLength, colors
};
return output;
}
half3 EvaluateGradient(Gradient gradient, half time)
{
half3 color = gradient.colors[0].rgb;
[unroll(6)]
for (int c = 1; c < gradient.colorsLength; c++)
{
half colorPos = saturate((time - gradient.colors[c - 1].w) / (gradient.colors[c].w - gradient.colors[c - 1].w)) * step(c, gradient.colorsLength - 1);
color = lerp(color, gradient.colors[c].rgb, lerp(colorPos, step(0.01, colorPos), gradient.type));
}
return color;
}
struct Input
{
float2 uv_MainTex;
float2 uv2_MainTex;
float4 color : COLOR;
float3 worldNormal; INTERNAL_DATA
#ifdef _LTCGI
float2 uv2_LightMap;
float3 worldPos;
#endif
};
sampler2D _MainTex;
sampler2D _Decal;
float4 _Decal_ST;
half _AccentSaturation;
half _Glossiness;
//SamplerState sampler_MainTex;
//SamplerState sampler_MetallicGlossMap;
// Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
// See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
// #pragma instancing_options assumeuniformscaling
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(half3, _Color)
UNITY_INSTANCING_BUFFER_END(Props)
half4 _Gradient[8];
uint _GradientLength;
float3 get_camera_pos() {
float3 worldCam;
worldCam.x = unity_CameraToWorld[0][3];
worldCam.y = unity_CameraToWorld[1][3];
worldCam.z = unity_CameraToWorld[2][3];
return worldCam;
}
float3 F_Schlick(float u, float3 f0, float f90)
{
return f0 + (f90 - f0) * pow(1.0 - u, 5.0);
}
float _WritePosition;
#ifndef SHADER_TARGET_SURFACE_ANALYSIS
#include "Line.cginc"
#endif
void surf (Input IN, inout SurfaceOutputStandard o)
{
half4 dataTex = tex2D(_MainTex, IN.uv_MainTex);
half4 decal = tex2D(_Decal, IN.uv_MainTex * _Decal_ST.xy + _Decal_ST.zw);
half3 color = UNITY_ACCESS_INSTANCED_PROP(Props, _Color);
half3 albedo = dataTex.r;
half3 colorMask = dataTex.b;
UNITY_BRANCH
if (_GradientLength > 0)
{
Gradient g = NewGradient(0, _GradientLength, _Gradient);
color = EvaluateGradient(g, IN.uv2_MainTex.y);
}
half grayscale = dot(color, float3(0.2125, 0.7154, 0.0721));
half3 desaturatedColor = lerp(grayscale, color, _AccentSaturation);
albedo = lerp(albedo, desaturatedColor, colorMask);
albedo = lerp(albedo, decal.rgb, decal.a);
o.Albedo = albedo;
o.Metallic = 0;
float rawSmoothness = dataTex.a;
o.Smoothness = (1.0f - GSAA(IN.worldNormal, 1.0f - dataTex.a)) * _Glossiness;
o.Alpha = 1;
#ifndef SHADER_TARGET_SURFACE_ANALYSIS
float positionCount = _WritePosition;
half inkLevelMask = ((IN.uv2_MainTex.y) > 0) * (1-colorMask);
half inkLevel = (IN.uv2_MainTex.y) > (positionCount / COUNT);
o.Albedo += lerp(positionCount >= COUNT ? half3(1,0,0) : 0.4, 1, inkLevel) * inkLevelMask * 0.25;
#endif
#ifndef SHADER_TARGET_SURFACE_ANALYSIS
#ifdef _LTCGI
{
float3 normal = WorldNormalVector(IN, o.Normal);
float3 spec = 0, diff = 0;
float3 viewDir = normalize(get_camera_pos() - IN.worldPos);
float NoV = saturate(dot(normal, viewDir));
float f0 = 0.16 * 0.5 * 0.5;
float fr = F_Schlick(NoV, f0, 1);
LTCGI_Contribution(
IN.worldPos,
normalize(normal),
viewDir,
1 - o.Smoothness,
IN.uv2_LightMap,
diff,
spec
);
o.Emission += spec * fr * UNITY_PI * dataTex.a;
o.Emission += diff * o.Albedo;
}
#endif
#endif
}
ENDCG
}
FallBack "Diffuse"
}

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: New Material
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,40 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: rt_copy
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 52
m_MipMap: 0
m_GenerateMips: 0
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 0
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View File

@@ -0,0 +1,40 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: rt_count
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 1
m_Height: 1
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 49
m_MipMap: 0
m_GenerateMips: 0
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 0
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

View File

@@ -0,0 +1,40 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!84 &8400000
RenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: rt_defrag
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
m_IsAlphaChannelOptional: 0
serializedVersion: 5
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_MipCount: -1
m_DepthStencilFormat: 0
m_ColorFormat: 49
m_MipMap: 1
m_GenerateMips: 0
m_SRGB: 0
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_EnableRandomWrite: 0
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 0
m_Aniso: 0
m_MipBias: 0
m_WrapU: 1
m_WrapV: 1
m_WrapW: 1
m_Dimension: 2
m_VolumeDepth: 1
m_ShadowSamplingMode: 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 B

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Floor
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 4, y: 4}
m_Offset: {x: 0, y: -0.42}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 4, y: 4}
m_Offset: {x: 0, y: -0.42}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Mat Dark
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 100, y: 100}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 100, y: 100}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.26415092, g: 0.26415092, b: 0.26415092, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Mat
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,83 @@
%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: Surface
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
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:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 50, y: 50}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0}
m_Scale: {x: 50, y: 50}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Debug 1
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8400000, guid: 23b0ff86988d142428b2d0683622bb53, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,83 @@
%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: Debug 2
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
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:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@@ -0,0 +1,77 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Debug 3
m_Shader: {fileID: 10752, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 8400000, guid: 1ed1ab4462fcc4543b477436a26b5cc1, type: 2}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@@ -0,0 +1,83 @@
%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: Debug Alpha
m_Shader: {fileID: 4800000, guid: b74d3cf464e188c46b1c9607971d2dc0, 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:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

Binary file not shown.

View File

@@ -0,0 +1,297 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1452103638024464948
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 2264528018711015566}
- component: {fileID: 2937160223820840747}
- component: {fileID: 1091582914257193953}
m_Layer: 0
m_Name: canvas
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &2264528018711015566
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1452103638024464948}
serializedVersion: 2
m_LocalRotation: {x: -0.044928513, y: -0.99899024, z: 0.0000020721925, w: 0.000045761462}
m_LocalPosition: {x: 1.6437378, y: 0.1267519, z: 1.312024}
m_LocalScale: {x: 0.65492946, y: 0.65492946, z: 0.65492946}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1794545093534703247}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: -179.99501, z: 5.15}
--- !u!33 &2937160223820840747
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1452103638024464948}
m_Mesh: {fileID: -2763691740356276834, guid: 645209ae0647eed4ca727251150295ba, type: 3}
--- !u!23 &1091582914257193953
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1452103638024464948}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 25449cbcaf3fe2246ae0bca0be62e54b, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1 &6441583575582319720
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6607329237177276291}
- component: {fileID: 5892025165778285471}
- component: {fileID: 1266293551810439160}
m_Layer: 0
m_Name: Quad (1)
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &6607329237177276291
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6441583575582319720}
serializedVersion: 2
m_LocalRotation: {x: -0, y: -1, z: -0, w: -0.0000002980232}
m_LocalPosition: {x: -0, y: 0, z: -0.55}
m_LocalScale: {x: 1, y: 1, z: 0.13514}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1794545093534703247}
m_LocalEulerAnglesHint: {x: 0, y: -179.99998, z: 0}
--- !u!33 &5892025165778285471
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6441583575582319720}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &1266293551810439160
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6441583575582319720}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_StaticShadowCaster: 0
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RayTraceProcedural: 0
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0}
--- !u!1001 &2341610225512891718
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 2264528018711015566}
m_Modifications:
- target: {fileID: 2525016064797594496, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_Size.z
value: 3.28678
objectReference: {fileID: 0}
- target: {fileID: 2525016064797594496, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_Center.x
value: 0.0000000018411012
objectReference: {fileID: 0}
- target: {fileID: 2525016064797594496, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_Center.y
value: 2.3038542e-12
objectReference: {fileID: 0}
- target: {fileID: 2525016064797594496, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_Center.z
value: 0.41039863
objectReference: {fileID: 0}
- target: {fileID: 2525016064797594496, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_IsTrigger
value: 1
objectReference: {fileID: 0}
- target: {fileID: 2804507977247468605, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_IsActive
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalScale.x
value: 1.6345485
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalScale.y
value: 1.5552593
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalScale.z
value: 0.05
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalPosition.x
value: -0.042
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalPosition.y
value: 1.131
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalRotation.w
value: 0.7063799
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalRotation.x
value: -0.03275271
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalRotation.y
value: 0.70631623
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalRotation.z
value: 0.03274388
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: -5.309
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 89.995
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4078171463642782669, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
propertyPath: m_Name
value: '[VRCMarkerSurface]'
objectReference: {fileID: 0}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects:
- targetCorrespondingSourceObject: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
insertIndex: -1
addedObject: {fileID: 6607329237177276291}
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: f4972511ac80b634f9d7513d03025cbc, type: 3}
--- !u!4 &1794545093534703247 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4078171463642782665, guid: f4972511ac80b634f9d7513d03025cbc,
type: 3}
m_PrefabInstance: {fileID: 2341610225512891718}
m_PrefabAsset: {fileID: 0}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

View File

@@ -0,0 +1,135 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &2804507977247468605
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4206226292357891494}
- component: {fileID: 8799525878674398480}
- component: {fileID: 7494939673651588351}
m_Layer: 0
m_Name: Quad
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4206226292357891494
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2804507977247468605}
m_LocalRotation: {x: -0, y: -1, z: -0, w: -0.0000002980232}
m_LocalPosition: {x: 0, y: 0, z: -0.5}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 4078171463642782665}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: -179.99998, z: 0}
--- !u!33 &8799525878674398480
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2804507977247468605}
m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
--- !u!23 &7494939673651588351
MeshRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 2804507977247468605}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RayTracingMode: 2
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_ReceiveGI: 1
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 1
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!1 &4078171463642782669
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4078171463642782665}
- component: {fileID: 4078171463642782664}
- component: {fileID: 2525016064797594496}
m_Layer: 0
m_Name: '[VRCMarkerSurface]'
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &4078171463642782665
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4078171463642782669}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0.1}
m_LocalScale: {x: 1, y: 1, z: 0.05}
m_Children:
- {fileID: 4206226292357891494}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!33 &4078171463642782664
MeshFilter:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4078171463642782669}
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
--- !u!65 &2525016064797594496
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4078171463642782669}
m_Material: {fileID: 0}
m_IsTrigger: 1
m_Enabled: 1
serializedVersion: 2
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}