删除报错高亮插件

This commit is contained in:
lujiajian 2025-11-24 08:46:14 +08:00
parent 9ca79f940b
commit 9dc614d1ac
162 changed files with 2355 additions and 2286 deletions

View File

@ -1,6 +1,8 @@
fileFormatVersion: 2
guid: a233cc5176ac642f89469b5d4c676c89
guid: 5db7164e964ae4c6b82d2283320ad13d
folderAsset: yes
timeCreated: 1557315954
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:

View File

@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: b0c676f447c26429db5c9404720e279c
folderAsset: yes
timeCreated: 1542876294
licenseType: Store
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:

View File

@ -38,7 +38,7 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.44717538, g: 0.49709505, b: 0.5751526, a: 1}
m_IndirectSpecularColor: {r: 0.4471771, g: 0.4970975, b: 0.57515424, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &4
LightmapSettings:
@ -97,7 +97,7 @@ LightmapSettings:
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_LightProbeSampleCountMultiplier: 4
m_LightingDataAsset: {fileID: 112000000, guid: 334c1ca31d9f941d69425982909406b3,
m_LightingDataAsset: {fileID: 112000014, guid: 039bfaf33d1112a4d904b7d393a6e9bb,
type: 2}
m_UseShadowmask: 0
--- !u!196 &5
@ -257,6 +257,36 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 181859160}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &271039439
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 271039440}
m_Layer: 0
m_Name: --- Other Scene Stuff ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &271039440
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 271039439}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -4.729038, y: -3.3103254, z: -4.729038}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &472769855
GameObject:
m_ObjectHideFlags: 0
@ -268,7 +298,6 @@ GameObject:
m_Component:
- component: {fileID: 472769856}
- component: {fileID: 472769857}
- component: {fileID: 472769858}
m_Layer: 0
m_Name: DirectionalLight
m_TagString: Untagged
@ -284,13 +313,13 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 472769855}
m_LocalRotation: {x: -0.5596046, y: 0.71660864, z: -0.3668599, w: -0.19679597}
m_LocalRotation: {x: 0.4144551, y: -0.7420336, z: 0.5253307, w: -0.040507175}
m_LocalPosition: {x: 0, y: 2, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 48.249, y: 168.87, z: -80.97}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!108 &472769857
Light:
m_ObjectHideFlags: 0
@ -310,12 +339,12 @@ Light:
m_InnerSpotAngle: 21.802082
m_CookieSize: 10
m_Shadows:
m_Type: 1
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 0.5
m_Bias: 1
m_NormalBias: 1
m_Strength: 1
m_Bias: 0.01
m_NormalBias: 0.4
m_NearPlane: 0.2
m_CullingMatrixOverride:
e00: 1
@ -353,19 +382,6 @@ Light:
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!114 &472769858
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 472769855}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UsePipelineSettings: 1
--- !u!1 &567592204
GameObject:
m_ObjectHideFlags: 0
@ -531,10 +547,7 @@ MonoBehaviour:
m_Text: '<color=yellow><b>HIGHLIGHT PLUS</b> (OUTLINE, GLOW AND SEE-THROUGH) DEMO</color>
Click
or hover spheres to show effect. Press C to randomize glow color on gold sphere.
This
asset requires Universal Rendering Pipeline. Please check README for setup instructions.'
or hover spheres to show effect. Press C to randomize glow color on gold sphere.'
--- !u!222 &613470779
CanvasRenderer:
m_ObjectHideFlags: 0
@ -573,12 +586,12 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 617211756}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: -1, y: 0.325, z: 0}
m_LocalScale: {x: 0.65, y: 0.65, z: 0.65}
m_Children: []
m_Father: {fileID: 1202089666}
m_RootOrder: 2
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &617211758
MonoBehaviour:
@ -609,6 +622,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -626,16 +640,16 @@ MonoBehaviour:
overlayTextureScale: 1
outline: 1
outlineColor: {r: 0, g: 0, b: 0, a: 1}
outlineWidth: 0.62
outlineWidth: 0.5
outlineQuality: 0
outlineDownsampling: 2
outlineVisibility: 0
glowBlendMode: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 1.71
glowWidth: 0.14
glowQuality: 1
glow: 1
glowWidth: 0.89
glowQuality: 2
glowDownsampling: 2
glowHQColor: {r: 1, g: 0.52205884, b: 0.52205884, a: 1}
glowDithering: 1
@ -643,6 +657,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -669,7 +684,7 @@ MonoBehaviour:
targetFXRotationSpeed: 30
targetFXInitialScale: 2
targetFXEndScale: 1.1
targetFXScaleToRenderBounds: 0
targetFXScaleToRenderBounds: 1
targetFXAlignToGround: 0
targetFXFadePower: 32
targetFXGroundMaxDistance: 10
@ -793,6 +808,36 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 617211756}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &640476129
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 640476130}
m_Layer: 0
m_Name: --- Sample Spheres ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &640476130
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 640476129}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -4.729038, y: -3.3103254, z: -4.729038}
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!1 &656694097
GameObject:
m_ObjectHideFlags: 0
@ -824,12 +869,12 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 656694097}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.85, y: 0.325, z: 0.14}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0.85, y: 0.325, z: 0}
m_LocalScale: {x: 0.65, y: 0.65, z: 0.65}
m_Children:
- {fileID: 1837449480}
m_Father: {fileID: 1202089666}
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &656694099
@ -857,15 +902,15 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
profile: {fileID: 0}
profileSync: 0
profileSync: 1
previewInEditor: 1
camerasLayerMask:
serializedVersion: 2
m_Bits: 4294967295
effectGroup: 0
effectGroup: 1
effectGroupLayer:
serializedVersion: 2
m_Bits: 4294967295
m_Bits: 18
effectNameFilter:
combineMeshes: 0
alphaCutOff: 0
@ -873,40 +918,42 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
fadeInDuration: 0
fadeOutDuration: 0
fadeOutDuration: 0.5
flipY: 0
constantWidth: 1
subMeshMask: -1
overlay: 0.488
overlay: 0.5
overlayColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
overlayAnimationSpeed: 1
overlayMinIntensity: 0
overlayMinIntensity: 0.5
overlayBlending: 1
overlayTexture: {fileID: 0}
overlayTextureScale: 1
outline: 1
outlineColor: {r: 0, g: 0, b: 0, a: 1}
outlineWidth: 0.62
outlineWidth: 0.4
outlineQuality: 0
outlineDownsampling: 1
outlineDownsampling: 2
outlineVisibility: 0
glowBlendMode: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 1.71
glowWidth: 4.5
glow: 1.78
glowWidth: 3.42
glowQuality: 2
glowDownsampling: 1
glowHQColor: {r: 0.6392157, g: 1, b: 0, a: 1}
glowDownsampling: 2
glowHQColor: {r: 0.64, g: 1, b: 0, a: 1}
glowDithering: 1
glowMagicNumber1: 0.75
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowAnimationSpeed: 0.2
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -930,7 +977,7 @@ MonoBehaviour:
targetFXTexture: {fileID: 2800000, guid: 1de3c566a6c8c405b9f6f453137273ec, type: 3}
targetFXColor: {r: 1, g: 1, b: 1, a: 1}
targetFXCenter: {fileID: 0}
targetFXRotationSpeed: 50
targetFXRotationSpeed: 30
targetFXInitialScale: 4
targetFXEndScale: 1.5
targetFXScaleToRenderBounds: 1
@ -1069,7 +1116,6 @@ GameObject:
- component: {fileID: 965526244}
- component: {fileID: 965526243}
- component: {fileID: 965526240}
- component: {fileID: 965526241}
m_Layer: 0
m_Name: Camera
m_TagString: MainCamera
@ -1086,37 +1132,6 @@ AudioListener:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
--- !u!114 &965526241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!20 &965526243
Camera:
m_ObjectHideFlags: 0
@ -1146,16 +1161,16 @@ Camera:
field of view: 40
orthographic: 0
orthographic size: 5
m_Depth: 0
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Bits: 4294963199
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowMSAA: 0
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
@ -1174,7 +1189,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1165184420
GameObject:
@ -1374,41 +1389,6 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1179472412}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &1202089665
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 190392, guid: d7720c2417695eb45bd70f6d10a17068,
type: 2}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1202089666}
m_Layer: 0
m_Name: SampleSpheres
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1202089666
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 470018, guid: d7720c2417695eb45bd70f6d10a17068,
type: 2}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1202089665}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children:
- {fileID: 1392572691}
- {fileID: 656694098}
- {fileID: 617211757}
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1392572690
GameObject:
m_ObjectHideFlags: 0
@ -1439,12 +1419,12 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1392572690}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0.325, z: 1}
m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_Children: []
m_Father: {fileID: 1202089666}
m_RootOrder: 0
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1392572692
MonoBehaviour:
@ -1475,6 +1455,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -1492,16 +1473,16 @@ MonoBehaviour:
overlayTextureScale: 1
outline: 1
outlineColor: {r: 1, g: 1, b: 1, a: 1}
outlineWidth: 0.62
outlineWidth: 0.4
outlineQuality: 0
outlineDownsampling: 2
outlineVisibility: 0
glowBlendMode: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 5
glowWidth: 0.14
glowQuality: 1
glow: 1.32
glowWidth: 3
glowQuality: 2
glowDownsampling: 2
glowHQColor: {r: 0.19117647, g: 0.36409733, b: 1, a: 1}
glowDithering: 1
@ -1509,6 +1490,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -1535,7 +1517,7 @@ MonoBehaviour:
targetFXRotationSpeed: 50
targetFXInitialScale: 2
targetFXEndScale: 1.5
targetFXScaleToRenderBounds: 0
targetFXScaleToRenderBounds: 1
targetFXAlignToGround: 0
targetFXFadePower: 32
targetFXGroundMaxDistance: 10
@ -1545,7 +1527,7 @@ MonoBehaviour:
targetFXTransitionDuration: 0.5
targetFXStayDuration: 2
targetFXVisibility: 1
seeThrough: 2
seeThrough: 0
seeThroughOccluderMask:
serializedVersion: 2
m_Bits: 4294967295
@ -1965,7 +1947,7 @@ Transform:
- {fileID: 165230858}
- {fileID: 567592205}
m_Father: {fileID: 0}
m_RootOrder: 1
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1819248541
GameObject:
@ -2059,7 +2041,7 @@ RectTransform:
m_Children:
- {fileID: 1605869163}
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 8
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}

View File

@ -122,50 +122,6 @@ NavMeshSettings:
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &54660272
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 54660274}
- component: {fileID: 54660273}
m_Layer: 0
m_Name: ManualSelectionExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &54660273
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 54660272}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 9dfa112658ab74560a6251002174910b, type: 3}
m_Name:
m_EditorClassIdentifier:
objectToSelect: {fileID: 656694098}
--- !u!4 &54660274
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 54660272}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 7.5509014, y: -4.251323, z: 28.678097}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &165230857
GameObject:
m_ObjectHideFlags: 0
@ -202,49 +158,6 @@ Transform:
m_Father: {fileID: 1694850532}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &171019437
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 171019439}
- component: {fileID: 171019438}
m_Layer: 0
m_Name: EventsExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &171019438
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 171019437}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dbe1fcf5ef14345779fec3adb4479bc3, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &171019439
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 171019437}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 7.5509014, y: -4.251323, z: 28.678097}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &181859160
GameObject:
m_ObjectHideFlags: 0
@ -344,36 +257,6 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 181859160}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &207714439
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 207714440}
m_Layer: 0
m_Name: --- SCENE ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &207714440
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 207714439}
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!1 &472769855
GameObject:
m_ObjectHideFlags: 0
@ -469,6 +352,50 @@ Light:
m_UseBoundingSphereOverride: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!1 &500965638
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 500965640}
- component: {fileID: 500965639}
m_Layer: 0
m_Name: ManualSelectionExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &500965639
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 500965638}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: ae556bec7040546f0a8bcc625513a0d2, type: 3}
m_Name:
m_EditorClassIdentifier:
objectToSelect: {fileID: 656694098}
--- !u!4 &500965640
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 500965638}
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: 11
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &613470776
GameObject:
m_ObjectHideFlags: 0
@ -541,8 +468,8 @@ MonoBehaviour:
m_Text: '<color=yellow>HIGHLIGHT PLUS SELECTION DEMO (USES HIGHLIGHT MANAGER)</color>
Click
on spheres to select them. Click outside to clear selection. Press 1/2/3 keys
to select, toggle and unselect gold sphere.'
on spheres to select them. Press 1/2/3 keys to select, toggle and unselect gold
sphere.'
--- !u!222 &613470779
CanvasRenderer:
m_ObjectHideFlags: 0
@ -748,7 +675,7 @@ MeshFilter:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 656694097}
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
--- !u!1 &900649477
--- !u!1 &790488496
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -756,23 +683,23 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 900649478}
- component: {fileID: 790488497}
m_Layer: 0
m_Name: --- DEMO SCRIPTS ---
m_Name: --- SAMPLE SCRIPTS ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &900649478
--- !u!4 &790488497
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 900649477}
m_GameObject: {fileID: 790488496}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0.34594363, y: 11.744718, z: -2.455723}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@ -790,7 +717,6 @@ GameObject:
- component: {fileID: 965526244}
- component: {fileID: 965526243}
- component: {fileID: 965526240}
- component: {fileID: 965526241}
m_Layer: 0
m_Name: Camera
m_TagString: MainCamera
@ -807,37 +733,6 @@ AudioListener:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
--- !u!114 &965526241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!20 &965526243
Camera:
m_ObjectHideFlags: 0
@ -897,6 +792,49 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &965747734
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 965747736}
- component: {fileID: 965747735}
m_Layer: 0
m_Name: EventsExample
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &965747735
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965747734}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: e03a4fb11e1844a42b2becf08e18b9e2, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!4 &965747736
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965747734}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 199.50073, y: 46.180042, z: 195.3383}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 10
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1016798143
GameObject:
m_ObjectHideFlags: 0
@ -963,6 +901,36 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1044967304
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1044967305}
m_Layer: 0
m_Name: --- HIGHLIGHT MANAGER ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1044967305
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1044967304}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0.34594363, y: 11.744718, z: -2.455723}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 7
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1165184420
GameObject:
m_ObjectHideFlags: 0
@ -1549,7 +1517,7 @@ MonoBehaviour:
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 0}
m_Sprite: {fileID: 10907, guid: 0000000000000000f000000000000000, type: 0}
m_Type: 1
m_PreserveAspect: 0
m_FillCenter: 1
@ -1641,6 +1609,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -1663,6 +1632,7 @@ MonoBehaviour:
outlineDownsampling: 2
outlineVisibility: 0
glowBlendMode: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 0
@ -1675,6 +1645,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -1831,7 +1802,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_UiScaleMode: 0
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 800, y: 600}
@ -1946,7 +1917,7 @@ ReflectionProbe:
m_UseOcclusionCulling: 0
m_Importance: 1
m_CustomBakedTexture: {fileID: 0}
--- !u!1 &1925176807
--- !u!1 &2017446011
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -1954,25 +1925,25 @@ GameObject:
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1925176808}
- component: {fileID: 2017446012}
m_Layer: 0
m_Name: --- HIGHLIGHT MANAGER ---
m_Name: --- SCENE ---
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!4 &1925176808
--- !u!4 &2017446012
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1925176807}
m_GameObject: {fileID: 2017446011}
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: 7
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 96cd4e40d2f234b9e95987f9f953d17c
timeCreated: 1542877475
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -622,6 +622,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -643,6 +644,7 @@ MonoBehaviour:
outlineQuality: 0
outlineDownsampling: 2
outlineVisibility: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 1
@ -655,6 +657,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -914,6 +917,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -922,12 +926,12 @@ MonoBehaviour:
flipY: 0
constantWidth: 1
subMeshMask: -1
overlay: 0.05
overlay: 0.01
overlayColor: {r: 1, g: 0.92156863, b: 0.015686275, a: 1}
overlayAnimationSpeed: 0
overlayMinIntensity: 0.5
overlayBlending: 1
overlayTexture: {fileID: 2800000, guid: aeb7aff1c8c1241ee8bfdfc05e9a9e92, type: 3}
overlayTexture: {fileID: 2800000, guid: 6f4d7782c600f4fa1859b8f3c092189d, type: 3}
overlayTextureScale: 1
outline: 1
outlineColor: {r: 0, g: 0, b: 0, a: 1}
@ -935,6 +939,7 @@ MonoBehaviour:
outlineQuality: 0
outlineDownsampling: 2
outlineVisibility: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 1.78
@ -947,6 +952,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 0.2
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -1006,7 +1012,7 @@ MonoBehaviour:
hitFxMode: 2
hitFxFadeOutDuration: 0.25
hitFxColor: {r: 0.93333334, g: 1.1058824, b: 2, a: 1}
hitFxRadius: 0.5
hitFxRadius: 0.1
--- !u!114 &656694101
MonoBehaviour:
m_ObjectHideFlags: 0
@ -1109,7 +1115,6 @@ GameObject:
- component: {fileID: 965526244}
- component: {fileID: 965526243}
- component: {fileID: 965526240}
- component: {fileID: 965526241}
m_Layer: 0
m_Name: Camera
m_TagString: MainCamera
@ -1126,37 +1131,6 @@ AudioListener:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
--- !u!114 &965526241
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 965526239}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
m_Name:
m_EditorClassIdentifier:
m_RenderShadows: 1
m_RequiresDepthTextureOption: 2
m_RequiresOpaqueTextureOption: 2
m_CameraType: 0
m_Cameras: []
m_RendererIndex: -1
m_VolumeLayerMask:
serializedVersion: 2
m_Bits: 1
m_VolumeTrigger: {fileID: 0}
m_RenderPostProcessing: 0
m_Antialiasing: 0
m_AntialiasingQuality: 2
m_StopNaN: 0
m_Dithering: 0
m_ClearDepth: 1
m_RequiresDepthTexture: 0
m_RequiresColorTexture: 0
m_Version: 2
--- !u!20 &965526243
Camera:
m_ObjectHideFlags: 0
@ -1480,6 +1454,7 @@ MonoBehaviour:
ignoreObjectVisibility: 0
reflectionProbes: 0
GPUInstancing: 1
depthClip: 0
normalsOption: 0
ignore: 0
_highlighted: 0
@ -1501,6 +1476,7 @@ MonoBehaviour:
outlineQuality: 0
outlineDownsampling: 2
outlineVisibility: 0
outlineOptimalBlit: 1
outlineBlitDebug: 0
outlineIndependent: 0
glow: 1.32
@ -1513,6 +1489,7 @@ MonoBehaviour:
glowMagicNumber2: 0.5
glowAnimationSpeed: 1
glowVisibility: 0
glowOptimalBlit: 1
glowBlitDebug: 0
glowBlendPasses: 1
glowPasses:
@ -2096,10 +2073,10 @@ MonoBehaviour:
m_GameObject: {fileID: 2118005892}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: b2533fb71c5d747c58192bcd7d6cd276, type: 3}
m_Script: {fileID: 11500000, guid: 53883b254655d44479b3d33caba0be58, type: 3}
m_Name:
m_EditorClassIdentifier:
hitSound: {fileID: 8300000, guid: 9c2f7decce97e409a8ecfc1181535dc2, type: 3}
hitSound: {fileID: 8300000, guid: 0cf993a8419a44000883892928cbdd4d, type: 3}
--- !u!4 &2118005894
Transform:
m_ObjectHideFlags: 0

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1c609762d2aa646c7a9fe426b06d8eee
timeCreated: 1542877475
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,44 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8558442800701317947
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5
--- !u!21 &2100000
Material:
serializedVersion: 8
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Floor
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords:
- _NORMALMAP
m_InvalidKeywords: []
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME _NORMALMAP
_UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: 13ea04b5d27644ccba761e09947624da, type: 3}
m_Scale: {x: 2, y: 2}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: d398536e88a354ed3b3825173a7e092a, type: 3}
m_Scale: {x: 1, y: 1}
@ -83,33 +63,13 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 0.02
- _DstBlend: 0
- _EmissionScaleUI: 1
- _EnvironmentReflections: 1
- _GlossMapScale: 0.538
- _Glossiness: 0.34
- _GlossyReflections: 1
@ -118,22 +78,15 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.0104
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.34
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0.99999994}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecularColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_BuildTextureStacks: []

View File

@ -1,43 +1,23 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-5610605729892836785
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5
--- !u!21 &2100000
Material:
serializedVersion: 8
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Gold
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME _UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@ -82,33 +62,13 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.9
- _GlossyReflections: 1
@ -117,22 +77,14 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.9
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.96078426, g: 0.8392157, b: 0.47450978, a: 1}
- _Color: {r: 0.96078426, g: 0.8392157, b: 0.47450978, a: 1}
- _Color: {r: 0.9607843, g: 0.8392157, b: 0.4745098, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.8088235, g: 0.6295969, b: 0.3033088, a: 1}
m_BuildTextureStacks: []

View File

@ -1,43 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-2992342339722848979
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5
--- !u!21 &2100000
Material:
serializedVersion: 8
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: PlasticGlossy
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME
_UVSEC_UV1
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@ -82,33 +63,13 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.8
- _GlossyReflections: 1
@ -117,22 +78,14 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.8
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0, g: 0.78942597, b: 0.79607844, a: 1}
- _Color: {r: 0, g: 0.78942597, b: 0.79607844, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
m_BuildTextureStacks: []

View File

@ -2,29 +2,23 @@
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Silk
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _EMISSION _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME
_UVSEC_UV1
m_LightmapFlags: 1
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
@ -69,33 +63,13 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EmissionScaleUI: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 1
- _Glossiness: 0.6
- _GlossyReflections: 1
@ -104,35 +78,14 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.6
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.49411762, g: 0.145098, b: 0.16470584, a: 1}
- _Color: {r: 0.49411762, g: 0.14509797, b: 0.16470581, a: 1}
- _Color: {r: 0.49411765, g: 0.14509805, b: 0.16470589, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
- _SpecularColor: {r: 0.74264705, g: 0.20750435, b: 0.216731, a: 1}
m_BuildTextureStacks: []
--- !u!114 &7254247028269435741
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5

View File

@ -1,46 +1,24 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-6803998695329737601
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5
--- !u!21 &2100000
Material:
serializedVersion: 8
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_Name: Wall
m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
m_ValidKeywords:
- _NORMALMAP
- _OCCLUSIONMAP
- _PARALLAXMAP
m_InvalidKeywords: []
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _LIGHTMAPPING_DYNAMIC_LIGHTMAPS _LIGHTMAPPING_REALTIME _NORMALMAP
_PARALLAXMAP _SPECGLOSSMAP _UVSEC_UV1
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
RenderType: Opaque
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 2800000, guid: dc645ec4f4eba40dd8f0e8b0c21b99b0, type: 3}
m_Scale: {x: 3, y: 3}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 2800000, guid: ebcd1fde239ed44bc808f7c571d8a6a9, type: 3}
m_Scale: {x: 1, y: 1}
@ -85,33 +63,13 @@ Material:
m_Texture: {fileID: 2800000, guid: a1d43acc22aa4427f89ca56382ce5272, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _AlphaTestRef: 0.5
- _Blend: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 0.02
- _DstBlend: 0
- _EmissionScaleUI: 1
- _EnvironmentReflections: 1
- _GlossMapScale: 0.325
- _Glossiness: 0.311
- _GlossyReflections: 1
@ -120,22 +78,15 @@ Material:
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.0203
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.311
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _UVSec: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0.99999994}
- _EmissionColorUI: {r: 0, g: 0, b: 0, a: 1}
- _EmissionColorWithMapUI: {r: 1, g: 1, b: 1, a: 1}
- _SpecColor: {r: 1, g: 1, b: 1, a: 1}
- _SpecularColor: {r: 0.11764706, g: 0.11764706, b: 0.11764706, a: 1}
m_BuildTextureStacks: []

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 57d6d25f642564dc6a34dfaebd77480c
guid: 5ea7a654ed5444ecd828eb05ba66a572
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: b2533fb71c5d747c58192bcd7d6cd276
guid: 53883b254655d44479b3d33caba0be58
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9dfa112658ab74560a6251002174910b
guid: ae556bec7040546f0a8bcc625513a0d2
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,7 +1,8 @@
fileFormatVersion: 2
guid: dbe1fcf5ef14345779fec3adb4479bc3
guid: e03a4fb11e1844a42b2becf08e18b9e2
timeCreated: 1544692056
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 94906fdd445a54f2badd67d0d36a3d55
guid: 952080b4610a343de8a56483df1aaf6b
folderAsset: yes
DefaultImporter:
externalObjects: {}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 9c2f7decce97e409a8ecfc1181535dc2
guid: 0cf993a8419a44000883892928cbdd4d
AudioImporter:
externalObjects: {}
serializedVersion: 6

View File

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -1,12 +1,12 @@
fileFormatVersion: 2
guid: aeb7aff1c8c1241ee8bfdfc05e9a9e92
guid: 6f4d7782c600f4fa1859b8f3c092189d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
@ -48,7 +48,7 @@ TextureImporter:
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaUsage: 0
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
@ -71,6 +71,54 @@ TextureImporter:
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: 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: WebGL
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []

View File

@ -1,6 +1,8 @@
fileFormatVersion: 2
guid: d6b6ed63a44dd4e0b9e9de96d34d9930
guid: 0b800828db32d4d3db02036d0637b878
folderAsset: yes
timeCreated: 1578838656
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:

View File

@ -1,125 +1,96 @@
USER GUIDE FOR UNIVERSAL RENDERING PIPELINE
USER GUIDE
1
Contents
Introduction ............................................................................................................................................3
Setup ......................................................................................................................................................3
Quick Start and Demo Scenes...................................................................................................................3
Quick Start and Demo Scenes...................................................................................................................4
How to use the asset in your project.........................................................................................................4
Option 1: Highlighting/customizing gameobjects .............................................................................................................4
Option 2: Highlighting/customizing ANY gameobject automatically ................................................................................4
Ignoring specific gameobjects from highlighting...............................................................................................................4
Highlighting: how to use the asset in your project......................................................................................5
Option 1: Highlighting/customizing gameobjects .............................................................................................................5
Option 2: Highlighting/customizing ANY gameobject automatically ................................................................................5
Ignoring specific gameobjects from highlighting...............................................................................................................5
Highlighting vs Selection ..........................................................................................................................5
Highlighting ........................................................................................................................................................................5
Selection............................................................................................................................................................................. 5
Highlighting vs Selection ..........................................................................................................................6
Highlighting ........................................................................................................................................................................6
Selection............................................................................................................................................................................. 6
Full list of options in Highlight Effect component .......................................................................................6
General Settings.................................................................................................................................................................6
Highlight Options ...............................................................................................................................................................6
Outline Effect Options .......................................................................................................................................................7
Outer Glow Effect Options.................................................................................................................................................8
Inner Glow Effect Options..................................................................................................................................................9
Overlay Effect Options .......................................................................................................................................................9
Target Effect Options .........................................................................................................................................................9
See-Through Effect Options.............................................................................................................................................10
Hit-FX Effect Options........................................................................................................................................................11
Full list of options in Highlight Effect component .......................................................................................7
General Settings.................................................................................................................................................................7
Highlight Options ...............................................................................................................................................................7
Outline Effect Options .......................................................................................................................................................8
Outer Glow Effect Options.................................................................................................................................................9
Inner Glow Effect Options................................................................................................................................................10
Overlay Effect Options .....................................................................................................................................................10
Target Effect Options .......................................................................................................................................................10
See-Through Effect Options.............................................................................................................................................11
Hit-FX Effect Options........................................................................................................................................................12
Scripting support ...................................................................................................................................12
Using scripting to add effects ..........................................................................................................................................12
Setting profile at runtime ................................................................................................................................................12
Changing properties at runtime.......................................................................................................................................12
Executing a Hit FX effect ..................................................................................................................................................12
Starting the Target FX on demand...................................................................................................................................12
Changing the target of highlight using scripting..............................................................................................................13
Events / reacting to highlighting......................................................................................................................................13
Events / reacting to selection ..........................................................................................................................................14
Scripting Support...................................................................................................................................13
Using scripting to add effects ..........................................................................................................................................13
Setting profile at runtime ................................................................................................................................................13
Changing properties at runtime.......................................................................................................................................13
Executing a Hit FX effect ..................................................................................................................................................13
Starting the Target FX on demand...................................................................................................................................13
Changing the target of highlight using scripting..............................................................................................................14
Events / reacting to highlighting......................................................................................................................................14
Events / reacting to selection ..........................................................................................................................................15
Using the Highlight Manager ......................................................................................................................................14
Using the Highlight Trigger .........................................................................................................................................14
Messages..........................................................................................................................................................................15
Manually selecting/toggling/unselecting objects with Highlight Manager.....................................................................15
Using the Highlight Manager ......................................................................................................................................15
Using the Highlight Trigger .........................................................................................................................................15
Messages..........................................................................................................................................................................16
Manually selecting/toggling/unselecting objects with Highlight Manager.....................................................................16
Advanced Topics and Notes....................................................................................................................17
Quick help & tips..............................................................................................................................................................17
Normals option ................................................................................................................................................................17
Highlight when entering a volume ..................................................................................................................................17
Advanced Topics and Notes....................................................................................................................16
Quick help & tips..............................................................................................................................................................16
Normals Option................................................................................................................................................................16
Highlight when entering a volume ..................................................................................................................................16
Depth Clip option .............................................................................................................................................................16
Compatibility of transparent objects with depth clip option ..........................................................................................17
Compatibility of see-through effect with transparent shaders.......................................................................................17
Masking UI .......................................................................................................................................................................17
Static batching .................................................................................................................................................................18
Cancelling see-through effect behind certain objects.....................................................................................................18
Static batching .................................................................................................................................................................17
Cancelling see-through effect behind certain objects.....................................................................................................17
Excluding submeshes .......................................................................................................................................................18
Custom Vertex Transformations......................................................................................................................................18
Controlling which objects can be selected ......................................................................................................................18
Custom sorting.................................................................................................................................................................19
Solving stencil buffer compatibility issues with other shaders .......................................................................................19
Effects appear in SceneView but not in GameView ........................................................................................................19
Universal Rendering Pipeline compatibility.....................................................................................................................19
2
Introduction
Thank you for purchasing!
Highlight Plus is a powerful package for adding outline, glow and other effects to your gameobjects.
Highlight Plus is a simple yet powerful package for adding outline, glow and other effects to your
gameobjects.
We hope you find the asset easy and fun to use. Feel free to contact us for any enquiry.
Visit our Support Forum on https://kronnect.com for help and access to the latest beta releases.
Kronnect Technologies
Email: contact@kronnect.com
Support Forum: https://www.kronnect.com/support
Email (non support): contact@kronnect.com
Setup
Quick Start and Demo Scenes
Requisites
This package is designed for URP. It requires Unity 2019.3 and URP 7.1.6 or later.
Please make sure an URP asset is present in Project Settings/Quality and/or Project Settings/Graphics.
Configuration
To install the plugin correctly, you need to add the “Highlight Plus Render Feature” to the URP asset:
1) Double click the Universal Rendering Pipeline asset to select it (do this for all URP assets assigned in your
Project Settings / Quality and Graphics).
2) Double click the Forward Renderer asset.
3) Click "+" to add the Highlight Plus Renderer Feature to the list of the Forward Renderer Features.
Note: URP assets can be assigned to Project Settings / Graphics and Project Settings / Quality. Check both
sections!
(You can also find a Universal Rendering Pipeline asset and HighlightPlusForwardRenderer asset ready to use
in the Highlight Plus / Pipelines / URP folder. Make sure the Highlight Plus Scriptable Renderer Feature is
listed in the Renderer Features of the Forward Renderer in the pipeline asset).
Important: on Unity 2021, Depth Priming Mode must be set to “Forced” in the URP asset in order to work
on Android, iOS and WebGL.
Video instructions: https://youtu.be/EgyBs8v9aRI
1. Import the asset into your project or create an empty project.
2. Go to Demo folder and run the demo scenes to quickly test the asset effects.
3. Examine the code behind the script attached to the Demo game object in demo scene 1.
The Demo scenes contains 3 spheres with a Highlight Effect and Highlight Trigger scripts attached to each
one. Each sphere has:
- The Highlight Effect script contains all the settings and appearance properties for the effects. If you
activate the “Highlighted” checkbox, the effects will be rendered immediately.
- The Highlight Trigger component checks the position of the pointer and detected when it passes over
the gameobject. When this occurs, it activates the “Highlighted” checkbox of the previous component
and disables it when the pointer exits the gameobject.
Alternatively, you can create a “Highlight Manager” from the top menu GameObject -> Effects -> Highlight
Plus -> Create Manager. This command will create a gameobject with the Highlight Manager script attached,
responsible for detecting mouse interaction with any gameobject that matches the layer and other settings
in the manager and highlight it accordingly.
3
Quick Start and Demo Scenes
Demo1_HighlightExample Scene
Run the scene to to quickly test the asset effects.
This demo scene contains 3 spheres with a Highlight Effect and Highlight Trigger scripts attached to each
one. Each sphere has:
- The Highlight Effect script contains all the settings and appearance properties for the effects. If you
activate the “Highlighted” checkbox, the effects will be rendered immediately.
- The Highlight Trigger component checks the position of the pointer and detected when it passes over
the gameobject. When this occurs, it activates the “Highlighted” checkbox of the previous
component and disables it when the pointer exits the gameobject.
(Instead of adding a HighlightTrigger to each sphere, you can create a “Highlight Manager” from the top
menu GameObject -> Effects -> Highlight Plus -> Create Manager. This command will create a gameobject
with the Highlight Manager script attached, responsible for detecting mouse interaction with any
gameobject that matches the layer and other settings in the manager and highlight it accordingly).
Inspecting the scene:
1. Select any of the spheres you will see the Highlight Effect in the inspector (it will also display any
warning if theres any missing or wrong setup related to URP).
2. Examine the code behind the script attached to the “GoldSphere” gameobject.
Demo2_SelectionExample
This demo scene is an example of the selection features of Highlight Plus.
Click the sphere to permanently select or deselect them.
4
Highlighting: how to use the asset in your project
How to use the asset in your project
Option 1: Highlighting/customizing gameobjects
▪ Add HighlightEffect.cs script to any gameobject. Customize the appearance options.
@ -145,19 +116,19 @@ Ignoring specific gameobjects from highlighting
the gameobject that you dont want to be highlighted and activate the “Ignore” checkbox.
If youre using the Highlight Manager, it also provides some filter options like Layer Mask.
5
4
Highlighting vs Selection
Highlight Plus also includes a “Selection” feature in the Highlight Manager. You can select any number of
objects by clicking on them. This Selection feature only works with the Highlight Manager in the scene.
Highlight Plus offers a Selection feature integrated in the Highlight Manager, which can draw objects
differently depending if theyre selected or not. You can select any number of objects by clicking on them.
Highlighting
Refers to the temporary effect that causes an object to show an outline, glow or other kind of effect. For
example, when using the Highlight Trigger or Highlight Manager components, and the “Highlight On Hover”
checkbox is activated, the asset will “highlight” any target automatically when the pointer is positioned over
that target. When you move the pointer out of the object, the highlight disappears.
Note that you can also use scripting to toggle the highlight on / off by calling SetHighlighted() or setting the
highlighted property of the HighlightEffect component without using the Highlight Manager at all.
You can also use scripting to toggle the highlight on / off by calling SetHighlighted() or setting the highlighted
property of the HighlightEffect component.
The demo scene 1 provides an example of highlighting spheres.
Selection
@ -177,7 +148,7 @@ Use the SelectObject, ToggleObject and UnselectObject methods of the Highlight M
control the selection state of any object in the scene using scripting.
The demo scene 2 provides an example of selection by clicking on spheres.
6
5
Full list of options in Highlight Effect component
The Highlight Effect component provides many options. This section covers each one of them:
@ -186,12 +157,15 @@ The Highlight Effect component provides many options. This section covers each o
General Settings
- Preview In Editor: enabling this option will render the effects while in Edit mode. Note that most
effects wont be visible unless the “Highlighted” checkbox is enabled.
- Cameras Layer Mask: let you specify which cameras can render the effects. By default, every camera.
- Reflection Probes: enable to render the effects on reflection probe cameras.
- Ignore Object Visibility: by default, Highlight Plus wont render the effects if the object is not visible
in screen. If youre using some tool that uses GPU instancing to render the object directly on the GPU
and not using the regular renderer component, enable this option to force the effects to be rendered.
- Reflection Probes: enable to render the effects on reflection probe cameras.
- Normals Option: several options to smooth or reorient normals of the geometry of the object. Only
used in outline and glow effects when rendering in Fast, Average or High quality mode (mesh-based
effects, not used in Highest quality modes or screen-space mode).
@ -201,16 +175,20 @@ General Settings
Highlight Options
- Ignore: let you disable any effect on this object. If you use the Highlight Manager, it will still use this
highlight effect component values.
- Include: this option let you specify which other objects will also be highlighted. Its extremely useful
as you can using a single highlight effect on the root of a group of objects for example, and include
all the children. The outline and glow effects will be combined and show a single contour around the
entire group if they overlap.
o Object Name Filter: lets you specify which objects will be included (according to the Include
6
o Object Name Filter: lets you specify which objects will be included (according to the Include
option) by filtering their names. For example, if you have 5 children, you could use a prefix or
suffix to specify which of them will be highlighted.
7
o Combine Meshes: this option is useful for objects that do not rotate individually. Highlight
o Combine Meshes: this option is useful for objects that do not rotate individually. Highlight
Plus will automatically combine the meshes of the group, reducing the number of draw calls
dramatically.
@ -223,14 +201,17 @@ Highlight Options
- Constant Width: keeps the outline or glow width constant regardless of the distance of the object to
the camera.
- Depth Clip: performs a depth buffer clipping so effects are correctly hidden behind solid geometry.
Outline Effect Options
The outline shows a usually thin colored line around the object.
- Outline: controls the transparency of the outline. A value of 0 deactivates completely this effect.
- Width: the width of the outline. The “Constant Width” option in the previous section can affect the
actual visible width.
- Color: the color for the outline.
- Quality: therere 4 quality modes: fast, average, high and highest. The first 3 quality modes use a
mesh-based rendering technique which is usually faster. The Highest quality mode uses a screen-
@ -238,16 +219,17 @@ The outline shows a usually thin colored line around the object.
depending on the characteristic of the highlighted object so dont hesitate to use the mode that looks
or perform better in your case, regardless of the name. For example, the “Fast” quality mode usually
works best for simple objects.
- Color: the color for the outline.
- Visibility: controls the z-buffer testing for the outline. Let you specify if the outline should be visible
on top of everything, only when the object is occluded (check also see-through effect for more
options) or normal, which means the outline will be visible when the object is visible as well.
- Optimal Blit: when in Highest Quality mode, performs a blit over the affected region of the screen,
instead of using a full-screen blit. This option will improve performance.
- Independent: this option forces the outline to show completely ignoring other highlighted objects
that could overlap on the screen. By default, Highlight Effect will merge the outlines of overlapping
objects, showing a continuous outline around the mixed group. By enabling the Independent option
you ensure that the outline is visible around each group separately.
8
7
Outer Glow Effect Options
The outer glow effect shows a bright glow or bloom-like effect, usually wider than the outline, around the
object.
@ -271,7 +253,7 @@ object.
To quickly change the glow color using scripting, you can call SetGlowColor(color) method on the
HighlightEffect component. Check demo scene 1 for an example.
9
8
Inner Glow Effect Options
The Inner Glow renders a rim-like effect over the object.
@ -304,7 +286,7 @@ The Target effect adds an animated object floating over the highlighted target.
- Rotation Speed: the speed at which the object rotates. Enter 0 to disable rotation.
- Initial / End Scale: used to create a zoom / pulsating effect.
10
9
- Scale To Object Bound: the scale of the target image will be relative to the object screen bounds (if
object grows, the target effect will also expand). Note that if object rotates and its bounds change,
the target effect will also change its size. This can produce a strange result so you may prefer to have
@ -319,7 +301,7 @@ The Target effect adds an animated object floating over the highlighted target.
elevation.
- Stay Duration: how long the overlay texture will be displayed when the object is no longer highlighted
until it fades out.
until it fades out. A value of 0 keeps the effect visible until its deactivated.
- Visibility: controls the z-buffer testing for the effect. Let you specify if the glow should be visible on
top of everything, only when the object is occluded or normal, which means the glow will be visible
@ -354,7 +336,7 @@ walls.
- Border When Hidden: this option let you show an additional outline but only when see-through is
active.
11
10
- Ordered: when enabled, it will respect the relative distance to camera when rendering see-through
effect.
@ -370,43 +352,47 @@ This effect is only usable in play mode. It let you show a “punch” effect by
briefly. In play mode you can test it:
Please refer to the “Executing a Hit-FX effect” in the next section for sample code.
12
Scripting Support
11
Scripting support
Using scripting to add effects
Use GetComponent<HighlightEffect>() to get a reference to the component of your gameobject.
Most properties shown in the inspector can be accessed through code, for example:
using HighlightPlus;
HighlightEffect effect = myGameObject.GetComponent<HighlightEffect>();
effect.outline = true;
effect.outlineColor = Color.blue;
effect.SetGlowColor(Color.yellow);
effect.UpdateMaterialProperties();
Use GetComponent<HighlightEffect>() to get a reference to the component of your gameobject.
Most properties shown in the inspector can be accessed through code, for example:
Important! If you change the hierarchy of your object (change its parent or attach it to another object),
you need to call effect.Refresh() to make Highlight Plus update its internal data.
using HighlightPlus;
HighlightEffect effect = myGameObject.GetComponetn<HighlightEffect>();
effect.outline = true;
effect.outlineColor = Color.blue;
effect.SetGlowColor(Color.yellow);
effect.UpdateMaterialProperties();
To control the state of the highlight, use:
effect.SetHighlighted(true/false) or effect.highlighted = true/false.
Important! If you change the hierarchy of your object (change its parent or attach it to another
object), you need to call effect.Refresh() to make Highlight Plus update its internal data.
Setting profile at runtime
Call ProfileLoad() or ProfileReload() methods of the HighlightEffect component and pass your highlight
profile object.
Call ProfileLoad() or ProfileReload() methods of the HighlightEffect component and pass your
highlight profile object.
Changing properties at runtime
When changing specific script properties at runtime, call UpdateMaterialProperties() to ensure those
changes are applied immediately.
When changing specific script properties at runtime, call UpdateMaterialProperties() to ensure
those changes are applied immediately.
Executing a Hit FX effect
The HitFX effect is a fast flash overlay effect which is used from code. Just call HitFX and pass the desired
parameters:
using HighlightPlus;
HighlightEffect effect = myGameObject.GetComponetn<HighlightEffect>();
effect.HitFX(color, duration, initial_intensity);
The HitFX effect is a fast flash overlay effect which is used from code. Just call HitFX and pass the
desired parameters:
using HighlightPlus;
HighlightEffect effect = myGameObject.GetComponetn<HighlightEffect>();
effect.HitFX(color, duration, initial_intensity);
Starting the Target FX on demand
@ -414,16 +400,19 @@ Starting the Target FX on demand
Note: if you change target fx properties using scripting, you may need to call
UpdateMaterialProperties() so the new values get reflected in new target fx executions.
13
12
Changing the target of highlight using scripting
The objects to be highlighted by the script are those configured by the “Include” option in the
Highlight Options section. However, you can override this selection using scripting in two ways:
effect.SetTarget(transform) will instruct the script to execute the effects on the given object.
effect.SetTarget(transform, Renderer[] additionalObjects) will do the same but also will
include any number of other renderers. Useful when you want to highlight a set of objects defined
by a script.
Events / reacting to highlighting
Note: check SphereHighlightEventExample.cs script in the demo scene.
The Highlight Effect script exposes two events (OnObjectHighlightStart and OnObjectHighlightEnd) which
fire when the object highlight starts or ends.
@ -455,7 +444,7 @@ OnObjectHighlightEnd, OnObjectSelected, OnObjectUnselected events:
HighlightManager.instance.OnObjectHighlightStart += MyEventHandler;
14
13
Events / reacting to selection
Selection events OnObjectSelected and OnObjectUnSelected are provided by the
@ -523,28 +512,29 @@ Using the Highlight Trigger
}
}
15
14
Messages
Highlight Effect will send the “HighlightStart” and “HighlightEnd” to any script attached to the gameobject
when its highlighted (or highlight ends). You can get those messages using the following code:
Highlight Effect will send the “HighlightStart” and “HighlightEnd” to any script attached to the
gameobject when its highlighted (or highlight ends). You can get those messages using the
following code:
using UnityEngine;
using HighlightPlus;
using UnityEngine;
using HighlightPlus;
public class MyBehaviour : MonoBehaviour {
public class MyBehaviour : MonoBehaviour {
void HighlightStart () {
Debug.Log ("Object highlighted!");
void HighlightStart () {
Debug.Log ("Object highlighted!");
}
}
void HighlightEnd () {
Debug.Log ("Object not highlighted!");
void HighlightEnd () {
Debug.Log ("Oject not highlighted!");
}
}
}
}
Manually selecting/toggling/unselecting objects with Highlight Manager
@ -583,47 +573,71 @@ Manually selecting/toggling/unselecting objects with Highlight Manager
}
}
16
15
Advanced Topics and Notes
Quick help & tips
Highlight Plus has been designed to be used without having to read a long manual. Hover the mouse over
the label of any option in the inspector to reveal a tooltip with a short explanation of that option.
Highlight Plus has been designed to be used without having to read a long manual. Hover the mouse
over the label of any option in the inspector to reveal a tooltip with a short explanation of that option.
This section contains specific instructions or notes about certain features.
This section contains specific instructions or notes about specific features or issues.
Normals option
Normals Option
Highlight Plus can automatically optimize mesh normal to provide a better result. The available options are:
Highlight Plus can automatically optimize mesh normal to provide a better result. The available options
are:
- Smooth: this will improve the outline effect when using the Fast or High-quality level (not with
Highest).
- Smooth: this will improve the outline effect when using the Fast or High-quality level (not with
Highest).
- Preserve Original: in some circumstances you may want to modify your mesh dynamically and also
want Highlight Plus to avoid caching that mesh enable “Preserve Original Mesh” to force Highlight
Plus to use the original mesh always.
- Preserve Original: in some circumstances you may want to modify your mesh dynamically and
also want Highlight Plus to avoid caching that mesh enable “Preserve Original Mesh” to force
Highlight Plus to use the original mesh always.
- Reorient: this will replace existing normal with a vector pointing out from the center of the object.
Useful for some 2D geometry or objects without normals.
- Reorient: this will replace existing normal with a vector pointing out from the center of the object.
Useful for some 2D geometry or objects without normals.
Note that Highlight Plus wont never change the original mesh of your objects so these are safe operations.
Note that Highlight Plus wont never change the original mesh of your objects so these are safe
operations.
Highlight when entering a volume
Its possible to automatically enable/disable highlight effects when object enters/exits a volume. Add a
HighlightTrigger component to the object and select “Volume” as trigger mode.
Its possible to automatically enable/disable highlight effects when object enters/exits a volume. Add
a HighlightTrigger component to the object and select “Volume” as trigger mode.
The script uses the OnTriggerEnter / OnTriggerExit events. The volume must have a collider marked as
IsTrigger and static. Also, the object entering the volume must have a rigidbody in order for the events to
trigger.
The script uses the OnTriggerEnter / OnTriggerExit events. The volume must have a collider marked
as IsTrigger and static. Also, the object entering the volume must have a rigidbody in order for the
events to trigger.
Depth Clip option
When using Outline or Outer Glow in high quality mode, the asset relies on the depth buffer to
perform proper depth cull or depth clipping. However, when MSAA (integrated antialias) is enabled,
the depth buffer is not available at the stage Highlight Plus renders. If you need MSAA in your project
and wants depth clipping/culling, you can enable the “Depth Clip” option in the Highlight inspector.
This option only is used when Outline or Outer Glow is set to High Quality (the other quality modes
work differently and do not require special treatment).
16
Compatibility of transparent objects with depth clip option
The Depth Clip option is only available for Outline and Outer Glow in High Quality modes. When
enabled, the special _CameraDepthTexture buffer is used to clip the effect. This option is useful if
you need to use MSAA since enabling MSAA disables depth checking in high quality mode.
Transparent objects do not write to this special texture unless you use this option in GameObject ->
Effects -> Highlight Plus -> “Make Transparent Object Compatible With Depth Clip”.
Once you add this feature to your transparent object, make sure you also have “Depth Clip” option
enabled in the objects to be highlighted using Outline or Outer Glow in HQ mode.
Compatibility of see-through effect with transparent shaders
If you want the See-Through effect to be seen through other transparent objects, their shaders need to be
modified so they write to depth buffer (by default transparent objects do not write to z-buffer). To do so,
select top menu GameObject -> Effects -> Highlight Plus -> “Add Depth To Transparent Object”.
Note that forcing a transparent object to write to depth buffer will cause issues with transparency.
If you want the See-Through effect be seen through other transparent objects, their shaders need to
be modified so they write to depth buffer (by default transparent objects do not write to z-buffer).
To do so, select top menu GameObject -> Effects -> Highlight Plus -> “Add Depth To Transparent
Object”.
Note that forcing a transparent object to write to depth buffer will cause issues with transparency.
Masking UI
To avoid Highlight Plus effects show on top of any UI or sprite element, therere a few options:
@ -634,9 +648,7 @@ Masking UI
and the “UI camera” accordingly (so the UI camera only renders the UI) and set the UI Camera
clear flag to “Depth only”. Make sure the “Depth” value of the UI camera is greater than the
17
regular camera so the UI camera renders after the main camera. This setup is easy and ensures
regular camera so the UI camera renders after the main camera. This setup is easy and ensures
the world-space UI renders on top of any highlight plus effect.
c) Create a panel on your UI and assign the material HighlightUIMask found in
HighlightPlus/Resources/Materials. This special material will write to stencil buffers and will
@ -645,45 +657,73 @@ Masking UI
Static batching
Objects marked as "static" need a MeshCollider in order to be highlighted (other collider types wont work).
This required because Unity combines the meshes of static objects so it's not possible to access to the
individual meshes of non-batched objects.
Note: the MeshCollider can be disabled. The only purpose of this collider is to allow Highlight Effect to get
access to the original mesh before the merge performed by Unity when scene starts.
Objects marked as "static" need a MeshCollider to be highlighted (other collider types wont work).
This required because Unity combines the meshes of static objects so it's not possible to access to
the individual meshes of non-batched objects.
Note: the MeshCollider can be disabled. The only purpose of this collider is to allow Highlight Effect
to get access to the original mesh before the merge performed by Unity when scene starts.
Cancelling see-through effect behind certain objects
Add HighlightSeeThroughOccluder script to the object you want to block see-through effects.
The HighlightEffect.isSeeThroughOccluded will return true if any occluder using raycast mode is covering
the highlighted object.
Add HighlightSeeThroughOccluder script to the object you want to block see-through effects.
The HighlightEffect.isSeeThroughOccluded will return true if any occluder using raycast mode is
covering the highlighted object.
Excluding submeshes
17
Excluding submeshes
Use the SubMesh Mash property to specify which submeshes will be affected by the effect.
Use the SubMesh Mash property to specify which submeshes will be affected by the effect.
By default, a value of -1 means all submeshes. This is a component mask field. The effect does the
following test to determine if the submesh will be included:
By default, a value of -1 means all submeshes. This is a component mask field. The effect does the
following test to determine if the submesh will be included:
(1<<subMeshIndex) & SubMeshMash != 0
(1<<subMeshIndex) & SubMeshMash != 0
Examples:
If you want to only include submesh 1 (index 1), set it to 1 (1<<1).
If you want to include only submesh 2, set it to 2 (1<<2).
For submesh 3, set it to 4 (1<<3).
For submeshes 2 and 3, set it to 6 (1<<2 + 1<<3).
In general, this works like the layer mask or culling mask in rest of Unity.
Examples:
If you want to only include submesh 1 (index 1), set it to 1 (1<<1).
If you want to include only submesh 2, set it to 2 (1<<2).
For submesh 3, set it to 4 (1<<3).
For submeshes 2 and 3, set it to 6 (1<<2 + 1<<3).
In general, this works like the layer mask or culling mask in rest of Unity.
Custom Vertex Transformations
You can apply your own vertex transformations inside the “CustomVertexTransform.cginc” file. The
function “ComputeVertexPosition” is used by all Highlight Plus shader, so this is a convenient centralized
place where to include your custom vertex transforms.
You can apply your own vertex transformations inside the “CustomVertexTransform.cginc” file. The
function “ComputeVertexPosition” is used by all Highlight Plus shader so this is a convenient
centralized place where to include your custom vertex transforms.
Please note that any addition or change to this file will be lost if you upgrade Highlight Plus.
Please note that any addition or change to this file will be lost if you upgrade Highlight Plus.
Controlling which objects can be selected
The Highlight Manager exposes two events, OnObjectSelected and OnObjectUnSelected, which are
fired when user selects/unselects objects. These events can be used to cancel a selection or
deselection depending on the value returned by the even handler (a Boolean):
using UnityEngine;
using HighlightPlus;
public class ControlExample : MonoBehaviour {
void Start() {
HighlightManager manager = FindObjectOfType<HighlightManager> ();
manager.OnObjectSelected += ValidateSelection;
}
bool ValidateSelection(GameObject obj) {
// Used to fine-control if the object can be selected; return false to cancel
selection
return true;
}
}
18
Custom sorting
Highlight Plus effects are sorted to camera distance before being rendered. However, you can
Highlight Plus effects render after transparent queue by default in any order. However, you can
control ordering of the effects by adding this script to the scene:
using UnityEngine;
@ -710,13 +750,9 @@ Please note that any addition or change to this file will be lost if you upgrade
In this case, the effects will be sorted by the z position. Feel free to sort the “effects” list above
according to your needs.
Solving stencil buffer compatibility issues with other shaders
Some third-party assets also use stencil buffers. This can cause compatibility issues like outline or glow not
visible. If youre facing this problem, enable the “Clear Stencil” option in the Highlight Render Feature.
Effects appear in SceneView but not in GameView
This issue can occur if Depth Priming Mode is disabled in the URP asset under certain circumstances (like
having other render features). In this case, try setting Depth Priming Mode to Forced.
Universal Rendering Pipeline compatibility
URP support is limited in this package. A version of Highlight Plus designed for URP can be found in the same
asset (just import it from the URP folder).
19

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 63c764939b9ea4aecacd8c4d7c76e19c
timeCreated: 1578838656
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,234 @@
Dont miss these other cool assets brought to you by
BEAUTIFY 2 is an acclaimed full-screen image processing effect that improves the image quality in real time
producing incredibly crisp and vivid scenes. Compatible with built-in, LWRP and URP pipelines.
In addition to this unique image enhancement filter, you will find in Beautify additional effects like high quality Bloom,
dirty lens effect, vignetting, night & thermal vision and more!
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/beautify-61730?aid=1101lGsd
DYNAMIC FOG & MIST 2 is a full-screen image effect that adds live, moving Fog, Mist and Sky Haze to your scenes
making them less dull and boring. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/dynamic-fog-mist-48200?aid=1101lGsd
VOLUMETRIC FOG & MIST 2 is the enhanced version of Dynamic Fog & Mist (which is also included in the package)
and has been designed to provide a better-looking fog and cloud formations with support of lighting and glow effects.
Compatible with built-in and URP pipelines.
Its feature-rich with options like fog of war, Sun tracking, better transparent and sprite support, sun shafts and more.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/volumetric-fog-mist-49858?aid=1101lGsd
WORLD POLITICAL MAP SERIES is a collection of professional mapping assets for Unity (2D and Globe Editions). Used by
many companies and agencies across the world to visualize data, resources, interact with the user, etc.
Compatible with built-in and URP pipelines.
Get it on the Asset Store (Globe Edition):
https://assetstore.unity.com/packages/tools/gui/world-map-globe-edition-41890?aid=1101lGsd
Get it on the Asset Store (2D Edition):
https://assetstore.unity.com/packages/tools/gui/world-map-2d-edition-43180?aid=1101lGsd
WORLD MAP STRATEGY KIT 2 is a complete framework for building AAA strategy games, including all world countries
and provinces, +7000 cities, cool 3D PBS dynamic viewport for map, hexagonal grid, pathfinding, real elevation, and much
more.
Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/templates/systems/world-map-strategy-kit-55121?aid=1101lGsd
WORLD MAPS PRO BUNDLE 2 is our most complete and professional suite of maps for Unity platform for the best price.
Compatible with built-in and URP pipelines.
This bundle contains:
- World Political Map Globe Edition
- World Political Map 2D Edition
- World Map Strategy Kit
- World Flags and Weather Icons
Purchase this bundle and save $$$!
https://assetstore.unity.com/packages/tools/gui/world-maps-pro-bundle-80125?aid=1101lGsd
SHINY SSRR is our Screen Space Raytraced Reflections solution optimized for both forward and deferred rendering
path. As with Beautify, this effect gives an instant boost to your scene by making light bounce on shiny surfaces, casting
gorgeous reflections on all kind of reflective surfaces. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/slug/188638?aid=1101lGsd
SKYBOX PLUS is an artist-driven replacement for Unity default skybox. Includes a lovely blend of procedural haze and
hand-drawn clouds which mimic the style of Studio Ghibli.
Supports full day/night transition with moon, stars, several cloud layers with custom animation and lot of customization
options. . Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/2d/textures-materials/sky/skybox-plus-182966?aid=1101lGsd
VOLUMETRIC LIGHTS is a powerful asset to add scattering effect to any number of Unity lights. Supports spot, point
and area light types. Directional lights are also supported for localized areas. Includes advanced options like dust lit
particles and shadow occlusion. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/volumetric-lights-164149?aid=1101lGsd
COMPASS NAVIGATOR PRO adds a “Skyrim”-like compass bar to your UI, including smooth fade in/out, various bar
designs, +11 icons in two variations (+22 icons) and nice features like minimap and beam lights!
Compatible with all render pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/gui/compass-navigator-pro-59519?aid=1101lGsd
X-FRAME FPS ACCELERATOR provides you extra frames per second in your mobile games (iOS and Android). It takes
advantage of the huge screen resolution of these devices to sacrifice some pixels in Exchange of performance with flexible
and dynamic quality options. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/camera/x-frame-fps-accelerator-63965?aid=1101lGsd
SHADER CONTROL is a tiny but powerful tool that will allow you to identify and manage shader keywords usage in your
project, taking more control over the build size and compilation time. Compatible with all render pipelines.
Quickly locates and helps you disable keywords not needed, learn about the shaders used in your project and their keywords!
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/shader-control-74817?aid=1101lGsd
TERRAIN GRID SYSTEM is an advanced grid generator and territory/cell highlighter/fader for both Terrain and 2D grids.
Compatible with all render pipelines. It can generate Voronoi, hexagonal and boxed grids dynamically on your terrain, with
flexible position options . Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/terrain/terrain-grid-system-47215?aid=1101lGsd
GRIDS 2D is similar to Terrain Grid System but only for flat 2D grids. Its fast, convenient and easy to use.
Compatible with all render pipelines. It can also generate Voronoi, hexagonal and boxed grids dynamically on your terrain, with
flexible API to integrate with your game. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/sprite-management/grids-2d-59981?aid=1101lGsd
HEXASPHERE GRID SYSTEM leverages shader technologies like texture arrays and geometry shaders to render hundreds
of thousands of interactive and customizable tiles in a spherical/hexagonal grid.
Fully interactive, with VR support and super-fast. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/modeling/hexasphere-grid-system-89112?aid=1101lGsd
TUNNEL FX 2 is a full-screen post image effect that creates stunning, colorful 3D animated tunnels. It does not create any
real tunnel but just draw the tunnel as a post-effect behind any geometry or UI.
Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/tunnel-fx-68564?aid=1101lGsd
GLOBAL SNOW renders your existing scene into a winter landscape with a couple of clicks. Just add a single script to your
camera and customize the results.
Supports relief mapping for realistic snow effect + human footprints + terrain marks with automatic collision detection and
more!
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/global-snow-79795?aid=1101lGsd
HIGHLIGHT PLUS adds outline, glow and see-through effects to any 3D object in the scene.
Its performant and designed for all platforms, including built-in and URP rendering pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/particles-effects/highlight-plus-134149?aid=1101lGsd
VOXEL PLAY is a procedural, fast environment based on cubes. It leverages highly optimized code, including
geometry shaders and texture arrays, to generate beautiful, rich, vast infinite worlds which can be customized and
modified in many ways. Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/templates/systems/voxel-play-106618?aid=1101lGsd
PIRATES OF VOXEL PLAY is a multiplayer game template built with Mirror and Voxel Play. Its the perfect
sample project to learn how to implement multiplayer games using these two frameworks.
Includes animated characters, a fully populated tropical island with 3 biomes, wild beasts, weapons, loots, cute
music and sound effects and of course plenty of commented code, documentation and video tutorials!
Get it on the Asset Store:
https://assetstore.unity.com/packages/slug/189096?aid=1101lGsd
LIQUID VOLUME is a powerful and highly customizable shader that simulates realistic and animated liquid
containers. Can be used in 3D scenes and 2D UI (demos included).
Liquid Volume is super easy and fun to use: just add the main script to any primitive (sphere, box, cylinder and
similar shape models) to convert it into a liquid container!
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/liquid-volume-70992?aid=1101lGsd
LIQUID VOLUME PRO 2 includes all features of Liquid Volume and adds additional advanced options plus
improved compatibility with more platforms.
Among the new options are multiple liquid layers support, miscible liquids, bubbles, better mesh options and full
WebGL support! Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/liquid-volume-pro-129967?aid=1101lGsd
HIGHLIGHT PLUS 2D adds outline, glow, see-through and other effects to any sprite in the scene.
Its performant and designed for all platforms, including standard and URP rendering pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/particles-effects/highlight-plus-2d-138383?aid=1101lGsd
TRAILS FX renders smooth, mesmerizing trails behind moving objects and characters.
Its performant thanks to the use of GPU instancing and use correct transparency order producing a fascinating effect.
Compatible with built-in and URP pipelines.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/particles-effects/highlight-plus-2d-138383?aid=1101lGsd
COLOR STUDIO is an Editor Extension that allows you to create awesome color palettes and recolor objects, sprites and scenes
easily in editor and runtime. Compatible with all render pipelines.
It comes with an interactive color wheel editor and a complete set of tools that let you also export color palettes as LUTs,
transform existing textures or specific colors from object materials.
Get it on the Asset Store:
https://assetstore.unity.com/packages/tools/painting/color-studio-151892?aid=1101lGsd
LUT PACK is a collection of +200 cinematic and artistic LUTs plus tints for Beautify. They can dramatically change the mood
and look of your game scenes. Beautify includes a LUT Browser that let you quickly text each one of the included LUT in this
package.
Get it on the Asset Store:
https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/lut-pack-for-beautify-202502?aid=1101lGsd
FRAME PACK is a collection of +75 film mattes and artistic borders that can be used with Beautify or Unity UI. This p
Get it on the Asset Store:
https://assetstore.unity.com/packages/2d/gui/frame-pack-204058?aid=1101lGsd
MILITARY UNITS THE STYLIZED ART COLLECTION includes +100 hand-painted, stylized portraits of military units
from ancient warriors to modern ships and aircraft. Great for decorating your game screens, unit sheets, icons, or prototyping.
Get it on the Asset Store:
https://assetstore.unity.com/packages/2d/textures-materials/military-units-the-stylized-art-collection-
187769?aid=1101lGsd
PICKUPS VOL. 1 includes near 100 3D prefabs that can be used in a wide range of games in many ways: inventory icons,
3D pickups in the scene, decoration or prototyping.
Get it on the Asset Store:
https://assetstore.unity.com/packages/3d/props/pickups-vol-1-204581?aid=1101lGsd

View File

@ -1,5 +1,7 @@
fileFormatVersion: 2
guid: 782ce379ea1624a349b1c53de1f90c95
guid: 44f7a64d904454f09a455fc561dbce2e
timeCreated: 1578838663
licenseType: Pro
DefaultImporter:
externalObjects: {}
userData:

View File

@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: c1cfaabf0583f44b4871807a898aaf31
folderAsset: yes
timeCreated: 1542886534
licenseType: Store
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:

View File

@ -1,8 +1,6 @@
using System.Collections.Generic;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;
namespace HighlightPlus {
@ -13,12 +11,11 @@ namespace HighlightPlus {
#pragma warning disable 0618
SerializedProperty profile, profileSync, camerasLayerMask, ignoreObjectVisibility, reflectionProbes, GPUInstancing;
SerializedProperty ignore, previewInEditor, effectGroup, effectGroupLayer, effectNameFilter, combineMeshes, alphaCutOff, cullBackFaces, normalsOption;
SerializedProperty highlighted, fadeInDuration, fadeOutDuration, flipY, constantWidth, subMeshMask;
SerializedProperty ignore, previewInEditor, effectGroup, effectGroupLayer, effectNameFilter, combineMeshes, alphaCutOff, cullBackFaces, depthClip, normalsOption, subMeshMask;
SerializedProperty highlighted, fadeInDuration, fadeOutDuration, flipY, constantWidth;
SerializedProperty overlay, overlayColor, overlayAnimationSpeed, overlayMinIntensity, overlayBlending, overlayTexture, overlayTextureScale;
SerializedProperty outline, outlineColor, outlineWidth, outlineQuality, outlineDownsampling, outlineVisibility, outlineBlitDebug, outlineIndependent;
SerializedProperty glow, glowWidth, glowQuality, glowDownsampling, glowHQColor, glowDithering, glowMagicNumber1, glowMagicNumber2, glowAnimationSpeed;
SerializedProperty glowBlendPasses, glowPasses, glowVisibility, glowBlendMode, glowBlitDebug, glowIgnoreMask;
SerializedProperty outline, outlineColor, outlineWidth, outlineQuality, outlineDownsampling, outlineVisibility, outlineOptimalBlit, outlineBlitDebug, outlineIndependent;
SerializedProperty glow, glowWidth, glowQuality, glowDownsampling, glowHQColor, glowDithering, glowMagicNumber1, glowMagicNumber2, glowAnimationSpeed, glowBlendPasses, glowPasses, glowVisibility, glowBlendMode, glowOptimalBlit, glowBlitDebug, glowIgnoreMask;
SerializedProperty innerGlow, innerGlowWidth, innerGlowColor, innerGlowVisibility;
SerializedProperty seeThrough, seeThroughOccluderMask, seeThroughOccluderMaskAccurate, seeThroughOccluderThreshold, seeThroughOccluderCheckInterval, seeThroughOccluderCheckIndividualObjects, seeThroughDepthOffset, seeThroughMaxDepth;
SerializedProperty seeThroughIntensity, seeThroughTintAlpha, seeThroughTintColor, seeThroughNoise, seeThroughBorder, seeThroughBorderWidth, seeThroughBorderColor, seeThroughOrdered, seeThroughBorderOnly;
@ -26,10 +23,9 @@ namespace HighlightPlus {
SerializedProperty targetFXAlignToGround, targetFXFadePower, targetFXGroundMaxDistance, targetFXGroundLayerMask, targetFXTransitionDuration, targetFXStayDuration, targetFXVisibility;
SerializedProperty hitFxInitialIntensity, hitFxMode, hitFxFadeOutDuration, hitFxColor, hitFxRadius;
SerializedProperty cameraDistanceFade, cameraDistanceFadeNear, cameraDistanceFadeFar;
HighlightEffect thisEffect;
bool profileChanged, enableProfileApply;
UniversalRenderPipelineAsset pipe;
bool expandGeneralSettings, expandHighlightOptions;
bool showCurrentOccluders;
const string HP_GENERAL_SETTINGS = "HPGeneralSettings";
@ -43,10 +39,11 @@ namespace HighlightPlus {
profile = serializedObject.FindProperty("profile");
profileSync = serializedObject.FindProperty("profileSync");
camerasLayerMask = serializedObject.FindProperty("camerasLayerMask");
ignoreObjectVisibility = serializedObject.FindProperty("ignoreObjectVisibility");
reflectionProbes = serializedObject.FindProperty("reflectionProbes");
normalsOption = serializedObject.FindProperty("normalsOption");
ignoreObjectVisibility = serializedObject.FindProperty("ignoreObjectVisibility");
GPUInstancing = serializedObject.FindProperty("GPUInstancing");
normalsOption = serializedObject.FindProperty("normalsOption");
subMeshMask = serializedObject.FindProperty("subMeshMask");
ignore = serializedObject.FindProperty("ignore");
previewInEditor = serializedObject.FindProperty("previewInEditor");
effectGroup = serializedObject.FindProperty("effectGroup");
@ -55,12 +52,12 @@ namespace HighlightPlus {
combineMeshes = serializedObject.FindProperty("combineMeshes");
alphaCutOff = serializedObject.FindProperty("alphaCutOff");
cullBackFaces = serializedObject.FindProperty("cullBackFaces");
depthClip = serializedObject.FindProperty("depthClip");
highlighted = serializedObject.FindProperty("_highlighted");
fadeInDuration = serializedObject.FindProperty("fadeInDuration");
fadeOutDuration = serializedObject.FindProperty("fadeOutDuration");
flipY = serializedObject.FindProperty("flipY");
constantWidth = serializedObject.FindProperty("constantWidth");
subMeshMask = serializedObject.FindProperty("subMeshMask");
overlay = serializedObject.FindProperty("overlay");
overlayColor = serializedObject.FindProperty("overlayColor");
overlayAnimationSpeed = serializedObject.FindProperty("overlayAnimationSpeed");
@ -72,13 +69,15 @@ namespace HighlightPlus {
outlineColor = serializedObject.FindProperty("outlineColor");
outlineWidth = serializedObject.FindProperty("outlineWidth");
outlineQuality = serializedObject.FindProperty("outlineQuality");
outlineDownsampling = serializedObject.FindProperty("outlineDownsampling");
outlineVisibility = serializedObject.FindProperty("outlineVisibility");
outlineOptimalBlit = serializedObject.FindProperty("outlineOptimalBlit");
outlineBlitDebug = serializedObject.FindProperty("outlineBlitDebug");
outlineIndependent = serializedObject.FindProperty("outlineIndependent");
outlineDownsampling = serializedObject.FindProperty("outlineDownsampling");
glow = serializedObject.FindProperty("glow");
glowWidth = serializedObject.FindProperty("glowWidth");
glowQuality = serializedObject.FindProperty("glowQuality");
glowDownsampling = serializedObject.FindProperty("glowDownsampling");
glowHQColor = serializedObject.FindProperty("glowHQColor");
glowAnimationSpeed = serializedObject.FindProperty("glowAnimationSpeed");
glowBlendPasses = serializedObject.FindProperty("glowBlendPasses");
@ -89,9 +88,9 @@ namespace HighlightPlus {
glowPasses = serializedObject.FindProperty("glowPasses");
glowVisibility = serializedObject.FindProperty("glowVisibility");
glowBlendMode = serializedObject.FindProperty("glowBlendMode");
glowOptimalBlit = serializedObject.FindProperty("glowOptimalBlit");
glowBlitDebug = serializedObject.FindProperty("glowBlitDebug");
glowIgnoreMask = serializedObject.FindProperty("glowIgnoreMask");
glowDownsampling = serializedObject.FindProperty("glowDownsampling");
glowIgnoreMask = serializedObject.FindProperty("glowIgnoreMask");
innerGlow = serializedObject.FindProperty("innerGlow");
innerGlowColor = serializedObject.FindProperty("innerGlowColor");
innerGlowWidth = serializedObject.FindProperty("innerGlowWidth");
@ -141,39 +140,14 @@ namespace HighlightPlus {
thisEffect.Refresh();
}
private void OnDisable() {
EditorPrefs.SetBool(HP_GENERAL_SETTINGS, expandGeneralSettings);
EditorPrefs.SetBool(HP_HIGHLIGHT_OPTIONS, expandHighlightOptions);
}
public override void OnInspectorGUI() {
EditorGUILayout.Separator();
// URP setup helpers
pipe = GraphicsSettings.currentRenderPipeline as UniversalRenderPipelineAsset;
if (pipe == null) {
EditorGUILayout.HelpBox("You must assign the Universal Rendering Pipeline asset in Project Settings / Graphics. Then, add the Highlight Plus Scriptable Render Feature to the list of Renderer Features of the Forward Renderer.", MessageType.Error);
if (GUILayout.Button("Watch Setup Video Tutorial")) {
Application.OpenURL("https://youtu.be/EgyBs8v9aRI");
}
return;
}
if (!HighlightPlusRenderPassFeature.installed) {
EditorGUILayout.HelpBox("Highlight Plus Render Feature must be added to the list of features of the Forward Renderer in the Universal Rendering Pipeline asset.", MessageType.Warning);
if (GUILayout.Button("Watch Setup Video Tutorial")) {
Application.OpenURL("https://youtu.be/EgyBs8v9aRI");
}
if (GUILayout.Button("Go to Universal Rendering Pipeline Asset")) {
Selection.activeObject = pipe;
}
EditorGUILayout.Separator();
}
bool isManager = IsDefaultEffectUsedByManager();
EditorGUILayout.Separator();
serializedObject.Update();
if (foldoutBold == null) {
@ -203,7 +177,8 @@ namespace HighlightPlus {
if (GUILayout.Button(new GUIContent("Load", "Updates settings with the profile configuration."), GUILayout.Width(60))) {
profileChanged = true;
}
GUI.enabled = enableProfileApply;
if (!enableProfileApply)
GUI.enabled = false;
if (GUILayout.Button(new GUIContent("Save", "Updates profile configuration with changes in this inspector."), GUILayout.Width(60))) {
enableProfileApply = false;
profileChanged = false;
@ -250,6 +225,7 @@ namespace HighlightPlus {
EditorGUILayout.PropertyField(reflectionProbes);
EditorGUILayout.PropertyField(normalsOption);
EditorGUILayout.PropertyField(subMeshMask);
EditorGUILayout.PropertyField(GPUInstancing);
EditorGUILayout.Separator();
}
@ -283,7 +259,8 @@ namespace HighlightPlus {
EditorGUILayout.PropertyField(effectGroupLayer, new GUIContent("Layer"));
EditorGUI.indentLevel--;
}
if (effectGroup.intValue != (int)TargetOptions.OnlyThisObject && effectGroup.intValue != (int)TargetOptions.Scripting) {
bool usesHQEffects = (outlineQuality.intValue == (int)QualityLevel.Highest && outline.floatValue > 0) || (glowQuality.intValue == (int)QualityLevel.Highest && glow.floatValue > 0);
if (effectGroup.intValue != (int)TargetOptions.OnlyThisObject) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(effectNameFilter, new GUIContent("Object Name Filter"));
EditorGUILayout.PropertyField(combineMeshes);
@ -300,13 +277,18 @@ namespace HighlightPlus {
EditorGUILayout.PropertyField(cameraDistanceFadeFar, new GUIContent("Far Distance"));
EditorGUI.indentLevel--;
}
if ((PlayerSettings.virtualRealitySupported && ((outlineQuality.intValue == (int)QualityLevel.Highest && outline.floatValue > 0) || (glowQuality.intValue == (int)QualityLevel.Highest && glow.floatValue > 0)))) {
EditorGUILayout.PropertyField(flipY, new GUIContent("Flip Y Fix", "Flips outline/glow effect to fix bug introduced in Unity 2019.1.0 when VR is enabled."));
if (usesHQEffects) {
EditorGUILayout.PropertyField(depthClip);
if (EditorUserBuildSettings.activeBuildTarget == BuildTarget.iOS || EditorUserBuildSettings.activeBuildTarget == BuildTarget.Android) {
EditorGUILayout.HelpBox("On mobile, consider enabling 'Depth Clip' option for better results.", MessageType.Info);
}
if (VRCheck.IsActive()) {
EditorGUILayout.PropertyField(flipY, new GUIContent("Flip Y Fix", "Flips outline/glow effect to fix bug introduced in Unity 2019.1.0 when VR is enabled."));
}
}
if (glowQuality.intValue != (int)QualityLevel.Highest || outlineQuality.intValue != (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(constantWidth, new GUIContent("Constant Width", "Compensates outline/glow width with depth increase."));
}
EditorGUILayout.PropertyField(subMeshMask);
EditorGUILayout.PropertyField(outlineIndependent, new GUIContent("Independent", "Do not combine outline or glow with other highlighted objects."));
}
}
@ -331,20 +313,25 @@ namespace HighlightPlus {
EditorGUILayout.EndHorizontal();
CheckVRSupport(outlineQuality.intValue);
if (outlineQuality.intValue == (int)QualityLevel.Highest) {
CheckDepthTextureSupport("Highest Quality");
EditorGUILayout.PropertyField(outlineDownsampling, new GUIContent("Downsampling"));
}
if (outlineQuality.intValue == (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(outlineBlitDebug, new GUIContent("Debug View", "Shows the blitting rectangle on the screen."));
if (!Application.isPlaying && outlineBlitDebug.boolValue && (!previewInEditor.boolValue || !highlighted.boolValue)) {
EditorGUILayout.HelpBox("Enable \"Preview In Editor\" and \"Highlighted\" to display the outline Debug View.", MessageType.Warning);
EditorGUILayout.PropertyField(outlineOptimalBlit, new GUIContent("Optimal Blit", "Blits result over a section of the screen instead of rendering to the full screen buffer."));
if (outlineOptimalBlit.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(outlineBlitDebug, new GUIContent("Debug View", "Shows the blitting rectangle on the screen."));
if (outlineBlitDebug.boolValue && (!previewInEditor.boolValue || !highlighted.boolValue)) {
EditorGUILayout.HelpBox("Enable \"Preview In Editor\" and \"Highlighted\" to display the outline Debug View.", MessageType.Warning);
}
EditorGUI.indentLevel--;
}
}
if (outlineQuality.intValue == (int)QualityLevel.Highest && (glow.floatValue > 0 && glowQuality.intValue == (int)QualityLevel.Highest)) {
outlineVisibility.intValue = glowVisibility.intValue;
GUI.enabled = outlineQuality.intValue != (int)QualityLevel.Highest || CheckForwardMSAA();
if (outlineQuality.intValue == (int)QualityLevel.Highest && glowQuality.intValue == (int)QualityLevel.Highest && glow.floatValue > 0) {
EditorGUILayout.PropertyField(glowVisibility, new GUIContent("Visibility"));
} else {
EditorGUILayout.PropertyField(outlineVisibility, new GUIContent("Visibility"));
}
EditorGUILayout.PropertyField(outlineVisibility, new GUIContent("Visibility"));
GUI.enabled = true;
EditorGUI.indentLevel--;
}
@ -365,20 +352,25 @@ namespace HighlightPlus {
EditorGUILayout.EndHorizontal();
CheckVRSupport(glowQuality.intValue);
if (glowQuality.intValue == (int)QualityLevel.Highest) {
CheckDepthTextureSupport("Highest Quality");
EditorGUILayout.PropertyField(glowDownsampling, new GUIContent("Downsampling"));
EditorGUILayout.PropertyField(glowHQColor, new GUIContent("Color"));
}
EditorGUILayout.PropertyField(glowAnimationSpeed, new GUIContent("Animation Speed"));
if (glowQuality.intValue == (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(glowBlitDebug, new GUIContent("Debug View", "Shows the blitting rectangle on the screen."));
if (!Application.isPlaying && glowBlitDebug.boolValue && (!previewInEditor.boolValue || !highlighted.boolValue)) {
EditorGUILayout.HelpBox("Enable \"Preview In Editor\" and \"Highlighted\" to display the glow Debug View.", MessageType.Warning);
EditorGUILayout.PropertyField(glowOptimalBlit, new GUIContent("Optimal Blit", "Blits result over a section of the screen instead of rendering to the full screen buffer."));
if (glowOptimalBlit.boolValue) {
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(glowBlitDebug, new GUIContent("Debug View", "Shows the blitting rectangle on the screen."));
if (glowBlitDebug.boolValue && (!previewInEditor.boolValue || !highlighted.boolValue)) {
EditorGUILayout.HelpBox("Enable \"Preview In Editor\" and \"Highlighted\" to display the glow Debug View.", MessageType.Warning);
}
EditorGUI.indentLevel--;
}
GUI.enabled = glowQuality.intValue != (int)QualityLevel.Highest || CheckForwardMSAA();
EditorGUILayout.PropertyField(glowVisibility, new GUIContent("Visibility"));
EditorGUILayout.PropertyField(glowBlendMode, new GUIContent("Blend Mode"));
GUI.enabled = true;
} else {
GUI.enabled = glowQuality.intValue != (int)QualityLevel.Highest || CheckForwardMSAA();
EditorGUILayout.PropertyField(glowVisibility, new GUIContent("Visibility"));
GUI.enabled = true;
EditorGUILayout.PropertyField(glowDithering, new GUIContent("Dithering"));
if (glowDithering.boolValue) {
EditorGUI.indentLevel++;
@ -399,6 +391,7 @@ namespace HighlightPlus {
}
EditorGUILayout.PropertyField(glowPasses, true);
}
EditorGUILayout.PropertyField(glowAnimationSpeed, new GUIContent("Animation Speed"));
EditorGUILayout.PropertyField(glowIgnoreMask, new GUIContent("Ignore Mask"));
EditorGUI.indentLevel--;
}
@ -444,7 +437,6 @@ namespace HighlightPlus {
EditorGUILayout.PropertyField(targetFXScaleToRenderBounds, new GUIContent("Scale To Object Bounds"));
EditorGUILayout.PropertyField(targetFXAlignToGround, new GUIContent("Align To Ground"));
if (targetFXAlignToGround.boolValue) {
CheckDepthTextureSupport("Align To Ground option");
EditorGUI.indentLevel++;
if (thisEffect.includedObjectsCount > 1 && targetFXCenter.objectReferenceValue == null && effectGroup.intValue != (int)TargetOptions.OnlyThisObject) {
EditorGUILayout.HelpBox("It's recommended to specify in the 'Center' property above, the specific object used to position the target fx image (will be rendered under that object on the ground).", MessageType.Info);
@ -466,7 +458,6 @@ namespace HighlightPlus {
EditorGUILayout.EndVertical();
}
EditorGUILayout.BeginVertical(GUI.skin.box);
EditorGUILayout.PropertyField(seeThrough);
if (seeThrough.intValue != (int)SeeThroughMode.Never) {
@ -516,9 +507,6 @@ namespace HighlightPlus {
}
EditorGUILayout.PropertyField(seeThroughDepthOffset, new GUIContent("Depth Offset" + ((seeThroughDepthOffset.floatValue > 0) ? " •" : "")));
EditorGUILayout.PropertyField(seeThroughMaxDepth, new GUIContent("Max Depth" + ((seeThroughMaxDepth.floatValue > 0) ? " •" : "")));
if (seeThroughDepthOffset.floatValue > 0 || seeThroughMaxDepth.floatValue > 0) {
CheckDepthTextureSupport("See-Through Depth Options");
}
EditorGUILayout.PropertyField(seeThroughIntensity, new GUIContent("Intensity"));
EditorGUILayout.PropertyField(seeThroughTintColor, new GUIContent("Color"));
EditorGUILayout.PropertyField(seeThroughTintAlpha, new GUIContent("Color Blend"));
@ -533,6 +521,7 @@ namespace HighlightPlus {
}
EditorGUILayout.PropertyField(seeThroughOrdered, new GUIContent("Ordered"));
EditorGUI.indentLevel--;
}
EditorGUILayout.EndVertical();
@ -561,6 +550,7 @@ namespace HighlightPlus {
}
EditorGUILayout.EndVertical();
if (serializedObject.ApplyModifiedProperties() || profileChanged || Event.current.commandName == "UndoRedoPerformed") {
if (thisEffect.profile != null) {
if (profileChanged) {
@ -583,22 +573,21 @@ namespace HighlightPlus {
}
void CheckVRSupport(int qualityLevel) {
if (qualityLevel == (int)QualityLevel.Highest && PlayerSettings.virtualRealitySupported) {
if (qualityLevel == (int)QualityLevel.Highest && VRCheck.IsActive()) {
if (PlayerSettings.stereoRenderingPath != StereoRenderingPath.MultiPass) {
EditorGUILayout.HelpBox("Highest Quality only supports VR Multi-Pass as CommandBuffers do not support this VR mode yet. Either switch to 'High Quality' or change VR Stereo mode to Multi-Pass.", MessageType.Error);
}
}
}
void CheckDepthTextureSupport(string feature) {
if (pipe == null) return;
if (!pipe.supportsCameraDepthTexture) {
EditorGUILayout.HelpBox(feature + " requires Depth Texture support and currently it's not enabled in the Rendering Pipeline asset.", MessageType.Error);
if (pipe != null && GUILayout.Button("Go to Universal Rendering Pipeline Asset")) {
Selection.activeObject = pipe;
bool CheckForwardMSAA() {
if (QualitySettings.antiAliasing > 1) {
if (Camera.main != null && Camera.main.allowMSAA && !depthClip.boolValue) {
EditorGUILayout.HelpBox("Effect will be shown always on top due to MSAA. To enable depth clipping enable 'Depth Clip' option above OR disable MSAA in Quality Settings OR choose a different quality level.", MessageType.Info);
return false;
}
EditorGUILayout.Separator();
}
return true;
}
static readonly int[] qualityValues = { 0, 3, 1, 2 };

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: be287539f47634552a716f0705710448
timeCreated: 1542886545
licenseType: Store
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []

View File

@ -53,16 +53,16 @@ namespace HighlightPlus {
[MenuItem("GameObject/Effects/Highlight Plus/Create Manager", false, 10)]
static void CreateManager (MenuCommand menuCommand) {
HighlightManager manager = FindObjectOfType<HighlightManager> ();
if (manager == null) {
GameObject managerGO = new GameObject ("HighlightPlusManager");
manager = managerGO.AddComponent<HighlightManager> ();
// Register root object for undo.
Undo.RegisterCreatedObjectUndo (manager, "Create Highlight Plus Manager");
}
Selection.activeObject = manager;
}
static void CreateManager(MenuCommand menuCommand) {
HighlightManager manager = FindObjectOfType<HighlightManager>();
if (manager == null) {
GameObject managerGO = new GameObject("HighlightPlusManager");
manager = managerGO.AddComponent<HighlightManager>();
// Register root object for undo.
Undo.RegisterCreatedObjectUndo(manager, "Create Highlight Plus Manager");
}
Selection.activeObject = manager;
}
}

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: ace58d1d278d649c98e5a2b5a066b3cd
timeCreated: 1548711355
licenseType: Store
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []

View File

@ -1,4 +1,6 @@
using UnityEditor;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace HighlightPlus {
@ -7,12 +9,11 @@ namespace HighlightPlus {
[CanEditMultipleObjects]
public class HighlightProfileEditor : Editor {
SerializedProperty effectGroup, effectGroupLayer, effectNameFilter, combineMeshes, alphaCutOff, cullBackFaces;
SerializedProperty effectGroup, effectGroupLayer, effectNameFilter, combineMeshes, alphaCutOff, cullBackFaces, depthClip, normalsOption;
SerializedProperty overlay, overlayColor, overlayAnimationSpeed, overlayMinIntensity, overlayTexture, overlayTextureScale, overlayBlending;
SerializedProperty fadeInDuration, fadeOutDuration, constantWidth, normalsOption;
SerializedProperty outline, outlineColor, outlineWidth, outlineQuality, outlineDownsampling, outlineVisibility, outlineIndependent;
SerializedProperty glow, glowWidth, glowQuality, glowDownsampling, glowHQColor, glowDithering, glowMagicNumber1, glowMagicNumber2, glowAnimationSpeed;
SerializedProperty glowBlendPasses, glowVisibility, glowBlendMode, glowPasses, glowIgnoreMask;
SerializedProperty fadeInDuration, fadeOutDuration, constantWidth;
SerializedProperty outline, outlineColor, outlineWidth, outlineQuality, outlineDownsampling, outlineOptimalBlit, outlineVisibility, outlineIndependent;
SerializedProperty glow, glowWidth, glowQuality, glowOptimalBlit, glowDownsampling, glowHQColor, glowDithering, glowMagicNumber1, glowMagicNumber2, glowAnimationSpeed, glowVisibility, glowBlendMode, glowBlendPasses, glowPasses, glowIgnoreMask;
SerializedProperty innerGlow, innerGlowWidth, innerGlowColor, innerGlowVisibility;
SerializedProperty targetFX, targetFXTexture, targetFXColor, targetFXRotationSpeed, targetFXInitialScale, targetFXEndScale, targetFXScaleToRenderBounds;
SerializedProperty targetFXAlignToGround, targetFXFadePower, targetFXGroundMaxDistance, targetFXGroundLayerMask, targetFXTransitionDuration, targetFXStayDuration, targetFXVisibility;
@ -28,6 +29,7 @@ namespace HighlightPlus {
combineMeshes = serializedObject.FindProperty("combineMeshes");
alphaCutOff = serializedObject.FindProperty("alphaCutOff");
cullBackFaces = serializedObject.FindProperty("cullBackFaces");
depthClip = serializedObject.FindProperty("depthClip");
normalsOption = serializedObject.FindProperty("normalsOption");
fadeInDuration = serializedObject.FindProperty("fadeInDuration");
fadeOutDuration = serializedObject.FindProperty("fadeOutDuration");
@ -43,12 +45,14 @@ namespace HighlightPlus {
outlineColor = serializedObject.FindProperty("outlineColor");
outlineWidth = serializedObject.FindProperty("outlineWidth");
outlineQuality = serializedObject.FindProperty("outlineQuality");
outlineOptimalBlit = serializedObject.FindProperty("outlineOptimalBlit");
outlineDownsampling = serializedObject.FindProperty("outlineDownsampling");
outlineVisibility = serializedObject.FindProperty("outlineVisibility");
outlineIndependent = serializedObject.FindProperty("outlineIndependent");
glow = serializedObject.FindProperty("glow");
glowWidth = serializedObject.FindProperty("glowWidth");
glowQuality = serializedObject.FindProperty("glowQuality");
glowOptimalBlit = serializedObject.FindProperty("glowOptimalBlit");
glowDownsampling = serializedObject.FindProperty("glowDownsampling");
glowHQColor = serializedObject.FindProperty("glowHQColor");
glowAnimationSpeed = serializedObject.FindProperty("glowAnimationSpeed");
@ -108,8 +112,6 @@ namespace HighlightPlus {
public override void OnInspectorGUI() {
serializedObject.Update();
EditorGUILayout.Separator();
EditorGUILayout.LabelField("Highlight Options", EditorStyles.boldLabel);
EditorGUILayout.PropertyField(effectGroup, new GUIContent("Include"));
@ -127,6 +129,7 @@ namespace HighlightPlus {
EditorGUILayout.PropertyField(alphaCutOff);
EditorGUILayout.PropertyField(cullBackFaces);
EditorGUILayout.PropertyField(normalsOption);
EditorGUILayout.PropertyField(depthClip);
EditorGUILayout.PropertyField(fadeInDuration);
EditorGUILayout.PropertyField(fadeOutDuration);
EditorGUILayout.PropertyField(cameraDistanceFade);
@ -151,12 +154,14 @@ namespace HighlightPlus {
HighlightEffectEditor.QualityPropertyField(outlineQuality);
if (outlineQuality.intValue == (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(outlineDownsampling, new GUIContent("Downsampling"));
EditorGUILayout.PropertyField(outlineOptimalBlit, new GUIContent("Optimal Blit", "Blits result over a section of the screen instead of rendering to the full screen buffer."));
}
if (outlineQuality.intValue == (int)QualityLevel.Highest && glowQuality.intValue == (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(glowVisibility, new GUIContent("Visibility"));
} else {
EditorGUILayout.PropertyField(outlineVisibility, new GUIContent("Visibility"));
}
EditorGUI.indentLevel--;
}
EditorGUILayout.EndVertical();
@ -170,6 +175,7 @@ namespace HighlightPlus {
if (glowQuality.intValue == (int)QualityLevel.Highest) {
EditorGUILayout.PropertyField(glowDownsampling, new GUIContent("Downsampling"));
EditorGUILayout.PropertyField(glowHQColor, new GUIContent("Color"));
EditorGUILayout.PropertyField(glowOptimalBlit, new GUIContent("Optimal Blit", "Blits result over a section of the screen instead of rendering to the full screen buffer."));
}
EditorGUILayout.PropertyField(glowAnimationSpeed, new GUIContent("Animation Speed"));
EditorGUILayout.PropertyField(glowVisibility, new GUIContent("Visibility"));
@ -270,7 +276,6 @@ namespace HighlightPlus {
EditorGUI.indentLevel--;
}
EditorGUILayout.PropertyField(seeThroughOrdered, new GUIContent("Ordered"));
EditorGUI.indentLevel--;
}
EditorGUILayout.EndVertical();

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: b3b0e551d6f4f4f3987e8e5be2e89285
timeCreated: 1542886545
licenseType: Store
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []

View File

@ -5,7 +5,7 @@ namespace HighlightPlus {
[CustomEditor (typeof(HighlightSeeThroughOccluder))]
public class HighlightSeeThroughOccluderEditor : Editor {
public override void OnInspectorGUI () {
public override void OnInspectorGUI () {
EditorGUILayout.Separator ();
EditorGUILayout.HelpBox ("This object will occlude any see-through effect.", MessageType.Info);
DrawDefaultInspector ();

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 11e725ecbe4d74569b232e1a0d57efba
timeCreated: 1548711355
licenseType: Store
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []

View File

@ -29,12 +29,12 @@ namespace HighlightPlus {
public override void OnInspectorGUI() {
serializedObject.Update ();
serializedObject.Update();
if (trigger.triggerMode == TriggerMode.RaycastOnThisObjectAndChildren) {
if (trigger.colliders == null || trigger.colliders.Length == 0) {
EditorGUILayout.HelpBox ("No collider found on this object or any of its children. Add colliders to allow automatic highlighting.", MessageType.Warning);
}
if (trigger.triggerMode == TriggerMode.RaycastOnThisObjectAndChildren) {
if (trigger.colliders == null || trigger.colliders.Length == 0) {
EditorGUILayout.HelpBox("No collider found on this object or any of its children. Add colliders to allow automatic highlighting.", MessageType.Warning);
}
} else {
#if ENABLE_INPUT_SYSTEM
if (trigger.triggerMode == TriggerMode.ColliderEventsOnlyOnThisObject) {
@ -42,7 +42,7 @@ namespace HighlightPlus {
}
#endif
if (trigger.GetComponent<Collider>() == null) {
EditorGUILayout.HelpBox ("No collider found on this object. Add a collider to allow automatic highlighting.", MessageType.Error);
EditorGUILayout.HelpBox("No collider found on this object. Add a collider to allow automatic highlighting.", MessageType.Error);
}
}

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: eaf7f56fbcfa343efb5081d4309cb76b
timeCreated: 1548711355
licenseType: Store
licenseType: Pro
MonoImporter:
serializedVersion: 2
defaultReferences: []

View File

@ -0,0 +1,132 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Rendering;
using UnityEditor;
namespace HighlightPlus {
public class TransparentWithDepth {
static Material bmDepthOnly;
static Material bmDepthClipping;
[MenuItem ("GameObject/Effects/Highlight Plus/Add Depth To Transparent Object", false, 100)]
static void AddDepthOption () {
Renderer renderer = GetRenderer ();
if (renderer == null)
return;
if (!EditorUtility.DisplayDialog("Add Depth to Transparent Object", "This option will force the transparent object to write to the depth buffer by adding a new special material to the renderer (existing materials are preserved) so it can occlude and allow See-Through effect.\nOnly use on transparent objects.\n\nProceed?", "Yes", "No")) {
return;
}
Material[] materials = renderer.sharedMaterials;
for (int k = 0; k < materials.Length; k++) {
if (materials [k] == bmDepthOnly) {
EditorUtility.DisplayDialog ("Depth Support", "Already set! Nothing to do.", "Ok");
return;
}
}
if (materials == null) {
renderer.sharedMaterial = bmDepthOnly;
} else {
List<Material> newMaterials = new List<Material> (materials);
newMaterials.Insert (0, bmDepthOnly);
renderer.sharedMaterials = newMaterials.ToArray ();
}
}
[MenuItem("GameObject/Effects/Highlight Plus/Make Transparent Object Compatible with Depth Clipping", false, 101)]
static void AddDepthClippingOption() {
Renderer renderer = GetRenderer();
if (renderer == null)
return;
if (!EditorUtility.DisplayDialog("Make Transparent Object Compatible with Depth Clipping", "This option will force the transparent object to write to _CameraDepthBuffer which is used by depth clip option (existing materials are preserved) so it can occlude outline and glow effects in High Quality mode.\nOnly use on transparent objects which need to occlude other outline / glow effects in high quality mode.\n\nProceed?", "Yes", "No")) {
return;
}
Material[] materials = renderer.sharedMaterials;
for (int k = 0; k < materials.Length; k++) {
if (materials[k] == bmDepthClipping) {
EditorUtility.DisplayDialog("Depth Clipping Support", "Already set! Nothing to do.", "Ok");
return;
}
}
if (materials == null) {
renderer.sharedMaterial = bmDepthClipping;
} else {
List<Material> newMaterials = new List<Material>(materials);
newMaterials.Insert(0, bmDepthClipping);
renderer.sharedMaterials = newMaterials.ToArray();
}
}
[MenuItem("GameObject/Effects/Highlight Plus/Remove Depth Compatibility", false, 102)]
static void RemoveDepthOption() {
Renderer renderer = GetRenderer();
if (renderer == null)
return;
bool found = false;
Material[] materials = renderer.sharedMaterials;
for (int k = 0; k < materials.Length; k++) {
if (materials[k] == bmDepthOnly || materials[k] == bmDepthClipping) {
materials[k] = null;
found = true;
}
}
if (found) {
List<Material> newMaterials = new List<Material>();
for (int k = 0; k < materials.Length; k++) {
if (materials[k] != null) {
newMaterials.Add(materials[k]);
}
}
renderer.sharedMaterials = newMaterials.ToArray();
return;
}
EditorUtility.DisplayDialog("Depth Support", "This object was not previously modified! Nothing to do.", "Ok");
}
static Renderer GetRenderer() {
if (Selection.activeGameObject == null) {
EditorUtility.DisplayDialog("Depth Support", "This option can only be used on GameObjects.", "Ok");
return null;
}
Renderer renderer = Selection.activeGameObject.GetComponent<Renderer>();
if (renderer == null) {
EditorUtility.DisplayDialog("Depth Support", "This option can only be used on GameObjects with a Renderer component attached.", "Ok");
return null;
}
if (bmDepthOnly == null) {
bmDepthOnly = Resources.Load<Material>("HighlightPlus/HighlightPlusDepthWrite");
if (bmDepthOnly == null) {
EditorUtility.DisplayDialog("Depth Support", "HighlightPlusDepthWrite material not found!", "Ok");
return null;
}
}
if (bmDepthClipping == null) {
bmDepthClipping = Resources.Load<Material>("HighlightPlus/HighlightPlusDepthClipComp");
if (bmDepthClipping == null) {
EditorUtility.DisplayDialog("Depth Clipping Support", "HighlightPlusDepthClipComp material not found!", "Ok");
return null;
}
}
return renderer;
}
}
}

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: be6e3be6d17ed49a3bd16d816815d6fd
timeCreated: 1515683694
licenseType: Store
licenseType: Pro
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -0,0 +1,47 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEngine.XR;
namespace HighlightPlus {
public static class VRCheck {
#if UNITY_2019_3_OR_NEWER
static List<XRDisplaySubsystemDescriptor> displaysDescs = new List<XRDisplaySubsystemDescriptor>();
static List<XRDisplaySubsystem> displays = new List<XRDisplaySubsystem>();
public static bool IsActive() {
displaysDescs.Clear();
SubsystemManager.GetSubsystemDescriptors(displaysDescs);
// If there are registered display descriptors that is a good indication that VR is most likely "enabled"
return displaysDescs.Count > 0;
}
public static bool IsVrRunning() {
bool vrIsRunning = false;
displays.Clear();
SubsystemManager.GetInstances(displays);
foreach (var displaySubsystem in displays) {
if (displaySubsystem.running) {
vrIsRunning = true;
break;
}
}
return vrIsRunning;
}
#else
public static bool IsActive() {
return PlayerSettings.virtualRealitySupported;
}
public static bool IsVrRunning() {
return Application.isPlaying && PlayerSettings.virtualRealitySupported;
}
#endif
}
}

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 473a86c9e274347dfbdde619584cebe9
guid: e692cbce37dc14e29b436d0c876f45dc
MonoImporter:
externalObjects: {}
serializedVersion: 2

View File

@ -1,30 +1,10 @@
**************************************
**************************************
* HIGHLIGHT PLUS *
* Created by Ramiro Oliva (Kronnect) *
* README FILE *
**************************************
Notice about Universal Rendering Pipeline
-----------------------------------------
This package is designed for URP.
It requires Unity 2019.3 and URP 7.1.6 or later
To install the plugin correctly:
1) Make sure you have Universal Rendering Pipeline asset installed (from Package Manager).
2) Go to Project Settings / Graphics.
3) Double click the Universal Rendering Pipeline asset.
4) Double click the Forward Renderer asset.
5) Click "+" to add the Highlight Plus Renderer Feature to the list of the Forward Renderer Features.
Note: URP assets can be assigned to Settings / Graphics and also Settings / Quality. Check both sections!
You can also find a HighlightPlusForwardRenderer asset in the Highlight Plus / Pipelines / URP folder.
Make sure the Highlight Plus Scriptable Renderer Feature is listed in the Renderer Features of the Forward Renderer in the pipeline asset.
Video instructions: https://youtu.be/EgyBs8v9aRI
Quick help: how to use this asset?
----------------------------------
@ -52,7 +32,6 @@ Quick help: how to use this asset?
Help & Support Forum
--------------------
@ -67,6 +46,14 @@ If you like Highlight Plus, please rate it on the Asset Store. It encourages us
Universal Rendering Pipeline
----------------------------
Customers can download a specific version of Highlight Plus designed for Universal Rendering Pipeline for free from our support forum on https://kronnect.com
Please sign up on the forum and send a pm to "Kronnect" or email to contact@kronnect.com to get access to the private board.
The Unity Asset Store currently does not allow you to select which package according to the pipeline to download so we have to offer this way so you can download it.
Future updates
--------------
@ -97,15 +84,14 @@ Version 8.5
- Improved outline effect when combining "Independent" option with many elements in "Children" selection
- Improved see-through border only effect
Version 8.4.1
- [Fix] Fixed unnecessary memory allocation in the render feature
Version 8.4
- Added "Border Only" option to See-Through effect
- Outline/glow shape now properly cuts when partially occluded (instead of following the shape of the occluder)
- Adding a Highlight Effect component to a parent no longer deactivates highlighted children
Version 8.3
- Upgraded to Unity 2020.3.16 as minimum
- Upgraded to Unity 2020.3.16
- [Fix] Fixed outline/glow render issue when MSAA is enabled
Version 8.2
- Added "Ignore Mask" option to glow. Can be used to render the glow effect alone
@ -114,18 +100,12 @@ Version 8.2
Version 8.1
- Selection state is now visible in inspector (used only by trigger and manager components)
- [Fix] Fixed outer glow not showing in higher quality with visibility set to normal and orthographic camera
- [Fix] Fixed mobile input using the new input system
- [Fix] Fixed outline settings mismatch when using a combination of Highlight Trigger and Manager
Version 8.0
- Added SelectObject / ToggleObject / UnselectObject methods to Highlight Manager
- Added ability to apply custom sorting to effects (check documentation: Custom sorting section)
- Independent option is now moved to Highlight Options section and affects both outline and glow
- Added "Clear Stencil" option to Highlight Plus Render Feature (useful to solve compatibility with other assets that use stencil buffers)
Version 7.9.2
- [Fix] Fixed an issue in Unity 2021.2 when using MSAA and High Quality outline/glow
- Added ability to control rendering order of effects (check documentation: Custom sorting section)
Version 7.9.1
- Default values for all effects are now 0 (disabled) except outline so desired effects must be enabled. This option allows you to ensure no extra/undesired effects are activated by mistake
@ -159,9 +139,6 @@ Version 7.6
Version 7.5.2
- [Fix] See-through is now visible when using glow/outline/inner glow with Always Visible option
Version 7.5.1
- [Fix] Fixed regression bug with Outline in High Quality mode
Version 7.5
- Added new HitFX style: "Local Hit"
- Added new demo scene showcasing the HitFx variations
@ -177,16 +154,18 @@ Version 7.1
Version 7.0.2
- Memory optimizations
Version 7.0.1
- [Fix] Highest quality outline/glow fixes on mobile
Version 7.0
- Added support for Single Pass Instanced
- Internal improvements and fixes
Version 6.9
- Added "Ordered" option to see-through
- Removed "Non Overlap" option from see-through as now it pervents overdraw by default
- Internal improvements to see-through
Version 6.8
- Improvements to see-through rendering order
- Changed see-through effect rendering order to improve support with other stencil effects
- [Fix] Fixed properties not being reflected in scene immediately when invoking Undo
Version 6.7
@ -198,9 +177,6 @@ Version 6.6
- Added "SeeThrough Non Overlap" option. Enable it only if the see-through effect produces flickering due to overlapping geometry in the hidden object
- [Fix] Fixed properties not being reflected in scene immediately when invoking Undo
Version 6.5.2
- Added inspector tooltips and improved documentation
Version 6.5.1
- Calling ProfileLoad() method will now assign that profile to the highlight effect component in addition to loading its values
- Prevents _Time overflow which can cause glitching on some Android devices
@ -235,49 +211,48 @@ Version 6.0
- Inspector: sections can be now collapsed to reduce screen space
- API: added OnObjectSelected / OnObjectUnSelected events
Version 5.5 4/Apr/2021
- [Fix] Fixed glow overlay when MSAA is disabled on Windows
Version 5.5
- Added "Planar" mode to Normals option. Best choice for highlighting 2D meshes (quad/planes)
Version 5.4 5/Feb/2021
- Added Visibility option to targete effect
- Stencil mask is no longer computed when only overlay or inner glow is used improving performance
Version 5.3.4 22/01/2021
Version 5.3.5 22/Jan/2021
- Added "CustomVertexTransform.cginc" file which can be used to include user-defined vertex transformations
- Optimizations to material setters
- [Fix] Fixed outline color issue with quality level set to medium
Version 5.3.4
- Improvements to combine meshes option
Version 5.3.3
- Effects now reflect object transform changes when combines meshes option is enabled
Version 5.3.2
- Memory optimizations
Version 5.3.1
- Optimizations and fixes
Version 5.3
- Added "Combine Meshes" option to profile
- Optimizations and fixes
Version 5.2
- Added "Object Name Filter" option to profile
Version 5.1
- Added "Border When Hidden" effect (outline when see-through triggers)
Version 5.0.1
- Added support for Unity 2020.2 beta
Version 5.0
- API: added "TargetFX" method to programmatically start the target effect
- Added support for double-sided shader effects
- [Fix] Depth Clip option can now be used on mobile even with visibility set to Always On Top
Version 4.9
- Added "Medium" quality level
Version 4.8.2
- [Fix] Fixed issue with outline set to fastest and glow using highest in latest URP version
Version 4.8.1
- [Fix] Fixed issue with outline/glow when overlay cameras are present on the stack
- [Fix] Fixed outline/glow issue on iOS when using Highest Quality mode in Unity 2010.1
Version 4.8
- Added "Outer Glow Blend Passes" option
- [Fix] Fixed outline & glow issue with alpha cutout when using non-highest quality mode
- Added support for HDR colors
Version 4.7
- Added "Normals Option" with Smooth, Preserve and Reorient variants to improve results
@ -288,34 +263,189 @@ Version 4.6
- Added "SubMesh Mask" which allows to exclude certain submeshes
- [Fix] Fixed shader compilation issue with Single Pass Instanced mode enabled
Version 4.5
- Added "Preserve Original Mesh" option to inspector and profile
Version 4.4
- Exposed "Smooth Normals" option in inspector.
Version 4.3.2
- Added HitFX effect
- Improved quality of outer glow when using Highest Quality mode
- Improvements to SeeThrough Occluder when Detection Mode is set to RayCast
Version 4.3.1
- [Fix] Fixed issue with Highlight Effect Occluder script
Version 4.3
- Added GPU instancing support for outline / outer glow effects
Version 4.2.2
- [Fix] Fixed effect being rendered when object is outside of frustum camera
Version 4.2.1
- Profile: added "Constant Width" property
- Enabled HDR color picker to Color properties
- [Fix] Fixed missing outline with flat surfaces like quads under certain angles
- API: added SetTargets(transform, renderers)
- API: added static method HighlightEffect.DrawEffectsNow() to force render all effects on demand
Version 4.2
- Glow/Outline downsampling option added to profiles
- [Fix] Removed VR API usage console warning
- Added GPU Instancing support for outline / glow effects
- Highlight Trigger: added volume collision detection
Version 4.1.1
- [Fix] Fixed issue with grouped objects when independent option is enabled and Highest Quality outer glow or outline is used
Version 4.1
- Added Outline Independent option
- [Fix] Fixed error when highlight script is added to an empty gameobject
- Improved "Outline Independent" option for Highest Quality Mode
- Consistency: enabling "Outline Independent" in Highest Quality Mode now also affects Outer Glow is used
Version 4.0
- Support for URP Scriptable Rendering Feature
- Start up peformance & memory allocation optimizations
- Added "Independent" support to outline in Highest Quality mode
- Added "Make Transparent Object Compatible With Depth Clip" option
Version 3.9
- Added "Depth Clip" option (only applies to HQ outline/glow effects)
Version 3.8
- Glow/Outline downsampling and glow blend mode option added to profiles
- [Fix] Fixed an issue which marked the scene as dirty
- [Fix] Removed VR API usage console warning
Version 3.7
- See Through: added "Occluder Mask" option. When set to a custom layer, it performs a BoxCast check to ensure only objects in the specific layers are occluding the target. Customize this behaviour using the Radius Threshold and Check Interval settings.
- Added "Max Distance" to Highlight Trigger
- Reduced allocations when averaging normals
- [Fix] Fixed flickering of outer glow when used in Highest quality with thin objects
Version 3.6
- Added "Outline Independent" option. Shows full outline regardless of any other highlighted object behind.
Version 3.5
- Improved quality of Outline effect when quality level is set to Highest
- Added "SeeThrough Border" feature
- Added "Blend Mode" option to Outer Glow for highest quality level
- [Fix] Fixed issue during Prefab editor mode
Version 3.4.4
- Added option in occluder script to use raycast instead of stencil buffer to cancel see-through (useful for avoiding terrain triggering see-through effect)
- [Fix] Fixed see-through in deferred rendering path
Version 3.4.2
- [Fix] Fixed an issue when adding the effect at runtime with outline/glow in higuest quality
Version 3.4.1
- [Fix] Fixed occluder objects removing glow effect when placed in the background
- [Fix] Added missing SeeThrough noise option to Highlight Profile asset
Version 3.4
- Added LayerInChildren option to "Include" filter
- Improved occluder system
- [Fix] Prevent an error when the mesh normals count does not match the vertex count
Version 3.3
- Outline, Glow and Inner Glow "Always On Top" option expanded to "Normal", "Always On Top" or "Only When Occluded"
- Added Noise slider to See-Through effect
Version 3.2.4
- [Fix] Fixed flickering issue when combining mesh & skinned mesh renderers
Version 3.2.3
- General improvements and fixes
Version 3.2.2
- [Fix] Fixed issue when trying to read normals from a non-readable mesh
Version 3.2.1
- [Fix] Fixed glow disappearing when object crosses camera near clip
Version 3.2
- Added "Reflection Probes" option
- Internal improvements and fixes
Version 3.1
- Added "Constant Width" option to Glow/Outline in Fastest/High quality level
- Added "Optimal Blit" option to Glow/Outline with Debug View
Version 3.0.2
- API: added proxy methods ProfileLoad, ProfileReload, ProfileSaveChanges to load/store profile settings at runtime. You can also load/save changes between effect and profile using the Load/Save methods on the profile object itself.
Version 3.0.1
- [Fix] Fixed an exception when glow was enabled, outline disabled in highest quality level
Version 3.0
- Added HQ Highest quality glow and outline options
- Added "Include" option to choose which objects are affected by the effects (same gameobject, children, root to children, or many objects in layer)
- Added "Alpha CutOff"
Version 2.6.1
- Minor internal improvements
Version 2.6
- Added Target effect
- Improved performance on Skinned Mesh Renderers. Slightly improved performance on normal renderers.
Version 2.5.2
- [Fix] Fixed issue with HQ Outer Glow not showing when there's multiple selected objects parented to the same object
Version 2.5.1
- Added support for orthographic camera
Version 2.5
- Added support for VR Single Pass Instanced
- Minor improvements and fixes
Version 2.4
- New HighlightSeeThroughOccluder script. Add it to any object to cancel any see-through effect
- Added "Fade In Duration" / "Fade Out Duration" to create smooth transition states
- Added "Glow HQ" to produce better outer glow on certain shapes
- Added "OnRendererHighlightStart" event
- API: added "OverlayOnShot" method for impact effects
Version 2.3
- Added "Raycast Source" to Highlight Trigger and Manager components
- Added "Skinned Mesh Bake Mode" to optimize highlight on many models
Version 2.2
- Added "Always On Top" option to Outline, Outer and Inner Glow
- Added "Trigger Mode" to Highlight Trigger to support complex objects
Version 2.1
- Added "Outline HQ" to inspector. Creates a better outline on certain shapes
- Added "Ignore Object Visibility" to enable effects on disabled renderers or hidden objects
Version 2.0
- Profiles. Store/load/share settings across different objects.
- [Fix] Fixed issue when copying component values between two objects
- [Fix] Fixed effects ignoring culling mask on additional cameras
Version 1.5
- Added "Inner Glow" effect
Version 1.4
- Added "Overlay Min Intensity" and "Overlay Blending" options
- Added "Ignore" option
- Minor improvements & fixes
Version 1.3
- Added option to add depth compatibility for transparent shaders
Version 1.2.4
- [Fix] Fix for multiple skinned models
- [Fix] Fix for scaled skinned models
Version 1.2.3
- [Fix] Fixes for Steam VR
Version 1.2.1
- Internal improvements and fixes
Version 1.2.1
- [Fix] Fixed script execution order issue with scripts changing transform in LateUpdate()
Version 1.2
- Support for LOD groups
Version 1.1
- Redesigned editor inspector
- Minor improvements
Version 1.0.4
- Supports meshes with negative scales
Version 1.0.3
- Support for multiple submeshes
Version 1.0.2
- [Fix] Fixed scale issue with grouped objects
Version 1.0.1
- Supports combined meshes
Version 1.0 - Nov/2018
- Initial release

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 53265a9967ed548efaf71f5807638781
timeCreated: 1542901568
licenseType: Store
licenseType: Pro
TextScriptImporter:
userData:
assetBundleName:

View File

@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 3a476022645d74299b862c36d0daa1df
folderAsset: yes
timeCreated: 1542876301
licenseType: Store
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:

View File

@ -2,7 +2,7 @@ fileFormatVersion: 2
guid: 6bd97436761b94109a0785ed6823647c
folderAsset: yes
timeCreated: 1542893576
licenseType: Store
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 26b31a85c4f4c4b11850968651dddfeb
guid: e25b1281ec6724b028e33a5df5a3f266
ShaderImporter:
externalObjects: {}
defaultTextures: []

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 058a572e30b2d446bade2dda32bcef0f
timeCreated: 1515682635
licenseType: Store
licenseType: Pro
ShaderImporter:
externalObjects: {}
defaultTextures: []

View File

@ -0,0 +1,43 @@
Shader "HighlightPlus/Geometry/DepthClipComp"
{
Properties
{
}
SubShader
{
Pass {
Name "ShadowCaster"
Tags { "LightMode" = "ShadowCaster" }
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma target 2.0
#pragma multi_compile_shadowcaster
#pragma multi_compile_instancing
#include "UnityCG.cginc"
struct v2f {
V2F_SHADOW_CASTER;
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert( appdata_base v ) {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
TRANSFER_SHADOW_CASTER_NORMALOFFSET(o)
return o;
}
float4 frag( v2f i ) : SV_Target {
SHADOW_CASTER_FRAGMENT(i)
}
ENDCG
}
}
}

View File

@ -1,9 +1,8 @@
fileFormatVersion: 2
guid: fe0a98aa774224cf1bc4a800a586a33a
guid: 0917f634da79a4983ad78bac83d5a715
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,5 +1,6 @@
Shader "HighlightPlus/Geometry/BlurGlow" {
Properties {
_MainTex ("Texture", Any) = "white" {}
_Color ("Color", Color) = (1,1,0) // not used; dummy property to avoid inspector warning "material has no _Color property"
_BlurScale("Blur Scale", Float) = 2.0
_Speed("Speed", Float) = 1
@ -17,7 +18,6 @@ Properties {
float4 _MainTex_TexelSize;
float4 _MainTex_ST;
float _BlurScale, _Speed;
float _AspectRatio;
struct appdata {
float4 vertex : POSITION;
@ -41,13 +41,15 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
o.uv = v.texcoord;
float3 offsets = _MainTex_TexelSize.xyx * float3(1, _AspectRatio, -1);
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
o.uv = v.texcoord;
float3 offsets = _MainTex_TexelSize.xyx * float3(1,1,-1);
o.uv1 = v.texcoord - offsets.xy;
o.uv2 = v.texcoord - offsets.zy;
o.uv3 = v.texcoord + offsets.zy;
@ -61,10 +63,13 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
float animatedWidth = _BlurScale * (1.0 + 0.25 * sin(_Time.w * _Speed));
o.uv = v.texcoord;
float2 inc = float2(_MainTex_TexelSize.x * 1.3846153846 * animatedWidth, 0);
@ -81,11 +86,14 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
float animatedWidth = _AspectRatio * _BlurScale * (1.0 + 0.25 * sin(_Time.w * _Speed));
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
float animatedWidth = _BlurScale * (1.0 + 0.25 * sin(_Time.w * _Speed));
o.uv = v.texcoord;
float2 inc = float2(0, _MainTex_TexelSize.y * 1.3846153846 * animatedWidth);
o.uv1 = v.texcoord - inc;

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 84c84ee93ec484bdda371ffbdebfcc7c
timeCreated: 1556874239
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -1,34 +1,36 @@
Shader "HighlightPlus/Geometry/BlurOutline" {
Properties {
_MainTex ("Texture", Any) = "white" {}
_Color ("Color", Color) = (1,1,0) // not used; dummy property to avoid inspector warning "material has no _Color property"
_BlurScale("Blur Scale", Float) = 2.0
}
SubShader
{
Tags { "Queue"="Transparent+100" "RenderType"="Transparent" }
ZTest Always
ZWrite Off
Cull Off
CGINCLUDE
#include "UnityCG.cginc"
#include "UnityCG.cginc"
UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex);
float4 _MainTex_TexelSize;
float4 _MainTex_ST;
UNITY_DECLARE_SCREENSPACE_TEXTURE(_MainTex);
float4 _MainTex_TexelSize;
float4 _MainTex_ST;
float _BlurScale;
float _AspectRatio;
struct appdata {
float4 vertex : POSITION;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
float4 vertex : POSITION;
float2 texcoord : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
struct v2fCross {
float4 pos : SV_POSITION;
float2 uv: TEXCOORD0;
float2 uv1: TEXCOORD1;
float2 uv2: TEXCOORD2;
struct v2fCross {
float4 pos : SV_POSITION;
float2 uv: TEXCOORD0;
float2 uv1: TEXCOORD1;
float2 uv2: TEXCOORD2;
float2 uv3: TEXCOORD3;
float2 uv4: TEXCOORD4;
UNITY_VERTEX_INPUT_INSTANCE_ID
@ -40,12 +42,15 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
o.uv = v.texcoord;
float3 offsets = _MainTex_TexelSize.xyx * float3(1, _AspectRatio, -1);
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
o.uv = v.texcoord;
float3 offsets = _MainTex_TexelSize.xyx * float3(1,1,-1);
o.uv1 = v.texcoord - offsets.xy;
o.uv2 = v.texcoord - offsets.zy;
o.uv3 = v.texcoord + offsets.zy;
@ -59,11 +64,14 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
o.uv = v.texcoord;
float2 inc = float2(_MainTex_TexelSize.x * 1.3846153846 * _BlurScale, 0);
o.uv1 = v.texcoord - inc;
o.uv2 = v.texcoord + inc;
@ -78,10 +86,13 @@ Properties {
UNITY_SETUP_INSTANCE_ID(v);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = v.vertex;
o.pos.y *= _ProjectionParams.x;
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_UV_STARTS_AT_TOP
if (_MainTex_TexelSize.y < 0) {
// Texture is inverted WRT the main texture
v.texcoord.y = 1.0 - v.texcoord.y;
}
#endif
o.uv = v.texcoord;
float2 inc = float2(0, _MainTex_TexelSize.y * 1.3846153846 * _BlurScale);
o.uv1 = v.texcoord - inc;
@ -141,6 +152,5 @@ Properties {
ENDCG
}
}
}
}

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 74f3491dcf1224f0c91238381c035439
timeCreated: 1556874239
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -15,7 +15,7 @@
Cull Off
ColorMask 0
Pass // clear stencil full screen
Pass // Ordered full screen
{
CGPROGRAM
#pragma vertex vert
@ -53,7 +53,7 @@
ENDCG
}
Pass // clear stencil object-space
Pass // Ordered object-space
{
CGPROGRAM
#pragma vertex vert

View File

@ -1,9 +1,8 @@
fileFormatVersion: 2
guid: 844773224daae4c31a9160897f833c5b
guid: 632d26701d1f14d9ab2950021e6fed87
ShaderImporter:
externalObjects: {}
defaultTextures: []
nonModifiableTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -12,7 +12,7 @@ Properties {
}
SubShader
{
Tags { "Queue"="Transparent+102" "RenderType"="Transparent" "DisableBatching" = "True" }
Tags { "Queue"="Transparent+102" "RenderType"="Transparent" }
Blend [_BlendSrc] [_BlendDst]
// Compose effect on camera target
@ -25,8 +25,8 @@ Properties {
Ref 2
Comp [_GlowStencilComp]
Pass keep
ReadMask 2
WriteMask 2
ReadMask 2
WriteMask 2
}
CGPROGRAM
@ -50,7 +50,6 @@ Properties {
{
float4 pos: SV_POSITION;
float4 scrPos: TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
@ -59,7 +58,6 @@ Properties {
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
o.scrPos = ComputeScreenPos(o.pos);
@ -69,7 +67,6 @@ Properties {
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 glow = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_HPComposeGlowFinal, i.scrPos.xy/i.scrPos.w);
fixed4 color = _Color;
@ -136,7 +133,6 @@ Properties {
fixed4 frag(v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 glow = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex, i.uv);
fixed4 color = _Color;

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 975a91ee935da4d9c8a3e807fecd8047
timeCreated: 1544699251
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -9,7 +9,7 @@ Properties {
}
SubShader
{
Tags { "Queue" = "Transparent+120" "RenderType" = "Transparent" "DisableBatching" = "True" }
Tags { "Queue" = "Transparent+120" "RenderType" = "Transparent" }
Blend SrcAlpha OneMinusSrcAlpha
// Compose effect on camera target (optimal quad blit)
@ -48,7 +48,6 @@ SubShader
{
float4 pos: SV_POSITION;
float4 scrPos: TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
@ -57,7 +56,6 @@ SubShader
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
o.scrPos = ComputeScreenPos(o.pos);
@ -67,7 +65,6 @@ SubShader
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 outline = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_HPComposeOutlineFinal, i.scrPos.xy/i.scrPos.w);
fixed4 color = _Color;
@ -83,7 +80,7 @@ SubShader
Pass
{
ZWrite Off
ZTest Always //[_ZTest]
ZTest Always // [_ZTest]
Cull Off // [_Cull]
Stencil {
Ref 2
@ -93,7 +90,6 @@ SubShader
WriteMask 2
}
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
@ -125,7 +121,6 @@ SubShader
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
o.uv = UnityStereoScreenSpaceUVAdjust(v.uv, _MainTex_ST);
@ -135,7 +130,6 @@ SubShader
fixed4 frag(v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
fixed4 outline = UNITY_SAMPLE_SCREENSPACE_TEXTURE(_MainTex, i.uv);
fixed4 color = _Color;

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 0a6de74b6cfa9440182f8f56e4a0e4f1
timeCreated: 1544699251
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -19,11 +19,19 @@ Material:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
- _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}
@ -43,53 +51,34 @@ Material:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BumpScale: 1
- _ConstantWidth: 1
- _Cull: 2
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _GlowZTest: 4
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _QueueOffset: 0
- _ReceiveShadows: 1
- _Smoothness: 0.5
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _Glow: {r: 1, g: 0.025, b: 0.75, a: 0.5}
- _Glow2: {r: 0.01, g: 1, b: 0.5, a: 0}
- _GlowColor: {r: 1, g: 1, b: 1, a: 1}
- _GlowDirection: {r: 1, g: 1, b: 0, a: 1}
- _SpecColor: {r: 0.2, g: 0.2, b: 0.2, a: 1}
--- !u!114 &8957597210722627563
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 1

View File

@ -1,8 +1,8 @@
fileFormatVersion: 2
guid: 41672e7b4c6544aedbffb9e271c7ef7c
guid: 60e964940a24547a585c3ffff7e52e9b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,13 +1,15 @@
Shader "HighlightPlus/Geometry/Glow" {
Shader "HighlightPlus/Geometry/Glow" {
Properties {
_MainTex ("Texture", Any) = "white" {}
_Glow ("Glow", Vector) = (1, 0.025, 0.75, 0.5)
_Glow2 ("Glow2", Vector) = (0.01, 1, 0.5, 0)
_GlowColor ("Glow Color", Color) = (1,1,1)
_Color ("Color", Color) = (1,1,1) // not used; dummy property to avoid inspector warning "material has no _Color property"
_GlowDirection("GlowDir", Vector) = (1,1,0)
_Cull ("Cull Mode", Int) = 2
_ConstantWidth ("Constant Width", Float) = 1
_GlowZTest ("ZTest", Int) = 4
_GlowStencilOp ("Stencil Operation", Int) = 0
_CutOff("CutOff", Float ) = 0.5
_GlowStencilComp ("Stencil Comp", Int) = 6
}
SubShader
@ -33,7 +35,6 @@ Properties {
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_instancing
#pragma multi_compile_local _ HP_ALPHACLIP
#include "UnityCG.cginc"
#include "CustomVertexTransform.cginc"
@ -41,7 +42,6 @@ Properties {
{
float4 vertex : POSITION;
float3 normal : NORMAL;
float2 uv : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
};
@ -49,7 +49,6 @@ Properties {
{
float4 pos : SV_POSITION;
fixed4 color : COLOR;
float2 uv : TEXCOORD0;
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
@ -57,10 +56,6 @@ Properties {
//float4 _Glow; // x = intensity, y = width, z = magic number 1, w = magic number 2
float3 _Glow2; // x = outline width, y = glow speed, z = dither on/off
float _ConstantWidth;
fixed _CutOff;
sampler _MainTex;
float4 _MainTex_ST;
float4 _MainTex_TexelSize;
UNITY_INSTANCING_BUFFER_START(Props)
UNITY_DEFINE_INSTANCED_PROP(float4, _GlowColor)
@ -76,36 +71,36 @@ Properties {
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
float4 pos = ComputeVertexPosition(v.vertex);
float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal);
float2 offset = any(norm.xy)!=0 ? TransformViewToProjection(normalize(norm.xy)) : 0.0.xx;
float2 glowDirection = UNITY_ACCESS_INSTANCED_PROP(Props, _GlowDirection);
float4 glowDirection = UNITY_ACCESS_INSTANCED_PROP(Props, _GlowDirection);
#if defined(UNITY_STEREO_INSTANCING_ENABLED) || defined(UNITY_STEREO_MULTIVIEW_ENABLED) || defined(SINGLE_PASS_STEREO)
glowDirection.x *= 2.0;
#endif
offset += glowDirection;
v.vertex.xyz += v.normal * glowDirection.z;
float4 pos = ComputeVertexPosition(v.vertex);
float3 norm = mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal);
float2 offset = TransformViewToProjection(normalize(norm.xy));
offset += glowDirection.xy;
float z = lerp(UNITY_Z_0_FAR_FROM_CLIPSPACE(pos.z), 2.0, UNITY_MATRIX_P[3][3]);
z = _ConstantWidth * (z - 2.0) + 2.0;
float outlineWidth = _Glow2.x;
float4 glow = UNITY_ACCESS_INSTANCED_PROP(Props, _Glow);
float animatedWidth = glow.y * (1.0 + 0.25 * sin(_Time.w * _Glow2.y));
offset *= z * (outlineWidth + animatedWidth);
pos.xy += offset;
o.pos = pos;
o.color = UNITY_ACCESS_INSTANCED_PROP(Props, _GlowColor);
o.color.a = glow.x;
o.uv = TRANSFORM_TEX (v.uv, _MainTex);
return o;
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
#if HP_ALPHACLIP
fixed4 col = tex2D(_MainTex, i.uv);
clip(col.a - _CutOff);
#endif
fixed4 color = i.color;
float4 glow = UNITY_ACCESS_INSTANCED_PROP(Props, _Glow);
float2 screenPos = floor( i.pos.xy * glow.z ) * glow.w;

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: 049d9e75e07674a78a703cf1203c07dd
timeCreated: 1544699250
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -1,4 +1,4 @@
Shader "HighlightPlus/Geometry/InnerGlow" {
Shader "HighlightPlus/Geometry/InnerGlow" {
Properties {
_MainTex ("Texture", Any) = "white" {}
_Color ("Color", Color) = (1,1,1) // not used; dummy property to avoid inspector warning "material has no _Color property"
@ -10,7 +10,7 @@ Properties {
}
SubShader
{
Tags { "Queue"="Transparent+122" "RenderType"="Transparent" }
Tags { "Queue"="Transparent+122" "RenderType"="Transparent" "DisableBatching"="True" }
// Inner Glow
Pass
@ -23,7 +23,6 @@ Properties {
}
Blend SrcAlpha One
ZWrite Off
Offset -1, -1
ZTest [_InnerGlowZTest]
Cull [_Cull]
@ -52,7 +51,7 @@ Properties {
UNITY_VERTEX_OUTPUT_STEREO
};
sampler _MainTex;
sampler2D _MainTex;
float4 _MainTex_ST;
fixed _CutOff;
fixed4 _InnerGlowColor;
@ -66,6 +65,11 @@ Properties {
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = ComputeVertexPosition(v.vertex);
#if UNITY_REVERSED_Z
o.pos.z += 0.0001;
#else
o.pos.z -= 0.0001;
#endif
o.wpos = mul(unity_ObjectToWorld, v.vertex).xyz;
o.normal = UnityObjectToWorldNormal(v.normal);
o.uv = TRANSFORM_TEX (v.uv, _MainTex);
@ -75,8 +79,8 @@ Properties {
fixed4 frag (v2f i) : SV_Target
{
#if HP_ALPHACLIP
fixed4 color = tex2D(_MainTex, i.uv);
clip(color.a - _CutOff);
fixed4 color = tex2D(_MainTex, i.uv);
clip(color.a - _CutOff);
#endif
float3 viewDir = normalize(i.wpos - _WorldSpaceCameraPos.xyz);

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: e5a069457bd344391acd5af227c0ce11
timeCreated: 1544699250
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -4,19 +4,22 @@ Properties {
_Color ("Color", Color) = (1,1,1) // not used; dummy property to avoid inspector warning "material has no _Color property"
_CutOff("CutOff", Float ) = 0.5
_Cull ("Cull Mode", Int) = 2
_ZTest("ZTest", Int) = 4
_ZTest ("ZTest", Int) = 4
}
SubShader
{
Tags { "Queue"="Transparent+100" "RenderType"="Transparent" "DisableBatching"="True" }
CGINCLUDE
#include "UnityCG.cginc"
#include "CustomVertexTransform.cginc"
sampler _MainTex;
sampler2D _MainTex;
float4 _MainTex_ST;
float4 _MainTex_TexelSize;
fixed _CutOff;
UNITY_DECLARE_DEPTH_TEXTURE(_CameraDepthTexture);
struct appdata
{
@ -29,40 +32,59 @@ Properties {
{
float4 pos: SV_POSITION;
float2 uv : TEXCOORD0;
#if HP_DEPTHCLIP
float4 scrPos : TEXCOORD1;
float depth : TEXCOORD2;
#endif
UNITY_VERTEX_INPUT_INSTANCE_ID
UNITY_VERTEX_OUTPUT_STEREO
};
v2f vert (appdata v)
{
v2f o;
UNITY_SETUP_INSTANCE_ID(v);
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_TRANSFER_INSTANCE_ID(v, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = ComputeVertexPosition(v.vertex);
o.uv = TRANSFORM_TEX (v.uv, _MainTex);
#if HP_DEPTHCLIP
o.scrPos = ComputeScreenPos(o.pos);
COMPUTE_EYEDEPTH(o.depth);
#endif
#if UNITY_REVERSED_Z
o.pos.z += 0.0001;
#else
o.pos.z -= 0.0001;
#endif
return o;
}
float GetEyeDepth(float rawDepth) {
float persp = LinearEyeDepth(rawDepth);
float ortho = (_ProjectionParams.z-_ProjectionParams.y)*(1-rawDepth)+_ProjectionParams.y;
return lerp(persp,ortho,unity_OrthoParams.w);
}
fixed4 frag (v2f i) : SV_Target
{
UNITY_SETUP_INSTANCE_ID(i);
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(i);
#if HP_ALPHACLIP
fixed4 col = tex2D(_MainTex, i.uv);
clip(col.a - _CutOff);
fixed4 col = tex2D(_MainTex, i.uv);
clip(col.a - _CutOff);
#endif
#if HP_DEPTHCLIP
float sceneZ = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, UnityStereoTransformScreenSpaceTex(i.scrPos.xy / i.scrPos.w));
float sceneDepth = GetEyeDepth(sceneZ);
clip(sceneDepth - i.depth * 0.999);
#endif
return 0;
}
ENDCG
// Create mask
Pass
{
@ -80,13 +102,13 @@ Properties {
ZTest [_ZTest]
CGPROGRAM
#pragma multi_compile_local _ HP_ALPHACLIP
#pragma multi_compile_local _ HP_DEPTHCLIP
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_local _ HP_ALPHACLIP
ENDCG
}
// Create mask for see-through (the only difference is the ZTest)
Pass
{
@ -104,11 +126,13 @@ Properties {
ZTest LEqual
CGPROGRAM
#pragma multi_compile_local _ HP_ALPHACLIP
#pragma multi_compile_local _ HP_DEPTHCLIP
#pragma vertex vert
#pragma fragment frag
#pragma multi_compile_local _ HP_ALPHACLIP
ENDCG
}
}
}

View File

@ -1,7 +1,7 @@
fileFormatVersion: 2
guid: e694fa934b6db4a00b8d4b9887115332
timeCreated: 1544699251
licenseType: Store
licenseType: Pro
ShaderImporter:
defaultTextures: []
userData:

View File

@ -5,7 +5,7 @@ Properties {
}
SubShader
{
Tags { "Queue"="Transparent+100" "RenderType"="Transparent" }
Tags { "Queue"="Transparent+100" "RenderType"="Transparent" "DisableBatching"="True" }
// Create mask
Pass
@ -14,10 +14,9 @@ Properties {
Ref 2
Comp always
Pass DecrWrap
}
}
ColorMask 0
ZWrite Off
Offset -1, -1
CGPROGRAM
#pragma vertex vert
@ -44,6 +43,11 @@ Properties {
UNITY_INITIALIZE_OUTPUT(v2f, o);
UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
o.pos = UnityObjectToClipPos(v.vertex);
#if UNITY_REVERSED_Z
o.pos.z += 0.0001;
#else
o.pos.z -= 0.0001;
#endif
return o;
}

Some files were not shown because too many files have changed in this diff Show More