몹 사망 후 디졸브 이펙트

This commit is contained in:
Ino 2025-05-22 08:13:07 +09:00
parent 2d50d26116
commit 85fc1a0c37
36 changed files with 6405 additions and 3 deletions

View File

@ -88,7 +88,6 @@ messageinfo 엄청 느린 버그
보스몬스터 좀 더 보완
회피 이펙트 적용 (VFX_Lab_HyperCasualFX)

View File

@ -81,6 +81,7 @@ MonoBehaviour:
m_SceneInfo: {fileID: 1630100576}
tf_Effects: {fileID: 4525569738525531459}
tf_Objs: {fileID: 8488419659884388789}
mat_Dissolve: {fileID: 2100000, guid: 5a0e9086bd6bbf245bd506367fc008db, type: 2}
--- !u!114 &1630100576
MonoBehaviour:
m_ObjectHideFlags: 0

View File

@ -12,7 +12,7 @@ GameObject:
- component: {fileID: 1436972398581313100}
- component: {fileID: 1582436427488657469}
m_Layer: 3
m_Name: Particle Fire_Smoke
m_Name: Particle Fire_Smoke tail
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -4854,7 +4854,7 @@ GameObject:
- component: {fileID: 7973233429037247987}
- component: {fileID: 3917714767597099693}
m_Layer: 3
m_Name: Particle Fire_Smoke
m_Name: Particle Fire_Smoke mouth
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@ -9970,6 +9970,7 @@ MonoBehaviour:
m_animation: {fileID: 0}
_target: {fileID: 0}
isTarget: 0
m_HUDUI: {fileID: 0}
tf_MeeleAttackPos: {fileID: 8337575511852820935}
MagicID: 0
HealCount: 0

View File

@ -26,6 +26,9 @@ public class MobActor : Actor
bool isNSLDMob;
protected List<Actor> list_summon = new List<Actor>();
protected Dictionary<string, Material> dic_mainMat = new Dictionary<string, Material>();
protected Dictionary<string, Material> dic_dissolveMat = new Dictionary<string, Material>();
protected override void Start()
{
base.Start();
@ -33,10 +36,23 @@ public class MobActor : Actor
m_NoSeeLongDMob = GetComponent<NoSeeLongDMob>();
isNSLDMob = !DSUtil.CheckNull(m_NoSeeLongDMob);
useMeeleAttackPos = !DSUtil.CheckNull(tf_MeeleAttackPos);
for (int i = 0; i < arr_Renderer.Length; i++)
{
dic_mainMat.Add(arr_Renderer[i].name, arr_Renderer[i].material);
dic_dissolveMat.Add(arr_Renderer[i].name, new Material(InGameInfo.Ins.mat_Dissolve));
dic_dissolveMat[arr_Renderer[i].name].mainTexture = arr_Renderer[i].material.mainTexture;
}
}
public override void Set(bool isEnemy, Actor owner, ServerData sdata, int _id, bool _stop, bool _ui = false)
{
if (dic_mainMat.Count > 0)
{
for (int i = 0; i < arr_Renderer.Length; i++)
arr_Renderer[i].material = dic_mainMat[arr_Renderer[i].name];
}
base.Set(isEnemy, owner, sdata, _id, _stop);
m_PatrolTime = 0f;
@ -429,6 +445,23 @@ public class MobActor : Actor
sdata.Add_MissionCount(ePurpose.KILL_MONSTER_ACC);
}
base.Set_Die();
StartCoroutine(Co_Dissolve());
}
IEnumerator Co_Dissolve()
{
yield return new WaitForSeconds(0.5f);
for (int i = 0; i < arr_Renderer.Length; i++)
arr_Renderer[i].material = dic_dissolveMat[arr_Renderer[i].name];
float prog = 1f;
while (prog > 0f)
{
yield return null;
prog -= Time.deltaTime * 0.5f;
for (int i = 0; i < arr_Renderer.Length; i++)
arr_Renderer[i].sharedMaterial.SetFloat("_Progress", prog);
}
}
protected override void After_Die()
{

View File

@ -11,6 +11,7 @@ public partial class InGameInfo : MyCoroutine
public static InGameInfo Ins;
public SceneInfo m_SceneInfo;
public Transform tf_Effects, tf_Objs;
public Material mat_Dissolve;
List<HUDDMGUI> list_HUDDMGUI = new List<HUDDMGUI>();
List<HUDUI> list_HUDUI = new List<HUDUI>();

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 790294ba5d4abb54a9f89e3b755d3742
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: d195b803d67f6c9459dbc1d82008aef0
folderAsset: yes
timeCreated: 1498775564
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,104 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: mat_DissolveEdge
m_Shader: {fileID: 4800000, guid: 3e7899f24eae03e43910c579b8481df4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- EDGE_COLOR
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveTex:
m_Texture: {fileID: 2800000, guid: 8b8c0d2a94fa4d540af8c62c70c48cd6, type: 3}
m_Scale: {x: 0.5, y: 0.5}
m_Offset: {x: 0, y: 0}
- _EdgeAroundRamp:
m_Texture: {fileID: 2800000, guid: 6e6ee1f34b0234741b0b85bb5a5fd843, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 1c42b71edef905e499a4ab3c444bd91f, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _CullMode: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Edge: 0.107
- _EdgeAround: 0.157
- _EdgeAroundHDR: 1.8
- _EdgeAroundPower: 3.26
- _EdgeDistortion: 0.393
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Progress: 1
- _RangeIn: 0.034
- _RangeOut: 0.001
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _UseEdgeColor: 1
- _UseEdgeDistortion: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EdgeAroundColor: {r: 0.75, g: 0.027573511, b: 0.027573511, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 5a0e9086bd6bbf245bd506367fc008db
timeCreated: 1496913102
licenseType: Store
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,103 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: mat_DissolveEdge_NoEdge
m_Shader: {fileID: 4800000, guid: 3e7899f24eae03e43910c579b8481df4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveTex:
m_Texture: {fileID: 2800000, guid: 8b8c0d2a94fa4d540af8c62c70c48cd6, type: 3}
m_Scale: {x: 0.5, y: 0.5}
m_Offset: {x: 0, y: 0}
- _EdgeAroundRamp:
m_Texture: {fileID: 2800000, guid: 6e6ee1f34b0234741b0b85bb5a5fd843, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 6d4096180adb1e84cbb647647f0f331e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _CullMode: 0
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Edge: 0.107
- _EdgeAround: 0.157
- _EdgeAroundHDR: 1.8
- _EdgeAroundPower: 3.26
- _EdgeDistortion: 0.393
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Progress: 0.447
- _RangeIn: 0.034
- _RangeOut: 0.001
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _UseEdgeColor: 0
- _UseEdgeDistortion: 0
- _ZWrite: 0
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EdgeAroundColor: {r: 0.75, g: 0.027573511, b: 0.027573511, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 1685d996673db354781f5e0e73db32a8
timeCreated: 1496913102
licenseType: Store
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,104 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: mat_DissolveEdge_Zwrite
m_Shader: {fileID: 4800000, guid: 3e7899f24eae03e43910c579b8481df4, type: 3}
m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0
m_ValidKeywords:
- EDGE_COLOR
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_LockedProperties:
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DissolveTex:
m_Texture: {fileID: 2800000, guid: 8b8c0d2a94fa4d540af8c62c70c48cd6, type: 3}
m_Scale: {x: 0.5, y: 0.5}
m_Offset: {x: 0, y: 0}
- _EdgeAroundRamp:
m_Texture: {fileID: 2800000, guid: 6e6ee1f34b0234741b0b85bb5a5fd843, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 6d4096180adb1e84cbb647647f0f331e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _BumpScale: 1
- _CullMode: 0
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _Edge: 0.107
- _EdgeAround: 0.157
- _EdgeAroundHDR: 1.8
- _EdgeAroundPower: 3.26
- _EdgeDistortion: 0.393
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Progress: 0.512
- _RangeIn: 0.034
- _RangeOut: 0.001
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _UseEdgeColor: 1
- _UseEdgeDistortion: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EdgeAroundColor: {r: 0.75, g: 0.027573511, b: 0.027573511, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 592f20914d6e09a4bae255d94da3d68e
timeCreated: 1496913102
licenseType: Store
NativeFormatImporter:
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: e2a1b8729fd469140b060c1452006cbe
folderAsset: yes
timeCreated: 1498775586
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,82 @@
fileFormatVersion: 2
guid: 60509207a6dd09c47937c54fe755e011
timeCreated: 1497107356
licenseType: Store
ModelImporter:
serializedVersion: 19
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2300000: //RootNode
3300000: //RootNode
4300000: curved_foil
materials:
importMaterials: 0
materialName: 0
materialSearch: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
clipAnimations: []
isReadable: 1
meshes:
lODScreenPercentages: []
globalScale: 0.5
meshCompression: 0
addColliders: 0
importBlendShapes: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 1
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 0
tangentImportMode: 3
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: c0b481c5e89f4154da70b85c4abcae56
folderAsset: yes
timeCreated: 1498775570
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: cdc3deb0db70b1d43898f8a196339130
timeCreated: 1496913183
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,66 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!850595691 &4890085278179872738
LightingSettings:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: Dissolve Edge demo sceneSettings
serializedVersion: 6
m_GIWorkflowMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_RealtimeEnvironmentLighting: 1
m_BounceScale: 1
m_AlbedoBoost: 1
m_IndirectOutputScale: 1
m_UsingShadowmask: 1
m_BakeBackend: 0
m_LightmapMaxSize: 1024
m_BakeResolution: 40
m_Padding: 2
m_LightmapCompression: 3
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_ExtractAO: 0
m_MixedBakeMode: 2
m_LightmapsBakeMode: 1
m_FilterMode: 1
m_LightmapParameters: {fileID: 15204, guid: 0000000000000000f000000000000000, type: 0}
m_ExportTrainingData: 0
m_TrainingDataDestination: TrainingData
m_RealtimeResolution: 2
m_ForceWhiteAlbedo: 0
m_ForceUpdates: 0
m_FinalGather: 0
m_FinalGatherRayCount: 256
m_FinalGatherFiltering: 1
m_PVRCulling: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 512
m_PVREnvironmentSampleCount: 512
m_PVREnvironmentReferencePointCount: 2048
m_LightProbeSampleCountMultiplier: 4
m_PVRBounces: 2
m_PVRMinBounces: 2
m_PVREnvironmentImportanceSampling: 0
m_PVRFilteringMode: 2
m_PVRDenoiserTypeDirect: 0
m_PVRDenoiserTypeIndirect: 0
m_PVRDenoiserTypeAO: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_PVRTiledBaking: 0
m_NumRaysToShootPerTexel: -1
m_RespectSceneVisibilityWhenBakingGI: 0

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 157ffa328592d604a8c6ef8c08cf6792
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 4890085278179872738
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 35dfe02c2a297994b88c59b9fef69c5c
folderAsset: yes
timeCreated: 1498775579
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,66 @@
//https://forum.unity3d.com/threads/sharing-is-caring-hiding-optional-material-parameters.349952/
#if UNITY_EDITOR
using UnityEngine;
using UnityEditor;
using System.Collections;
public class HideIfDisabledDrawer : MaterialPropertyDrawer
{
protected string[] argValue;
bool bElementHidden;
//constructor permutations -- params doesn't seem to work for property drawer inputs :( -----------
public HideIfDisabledDrawer(string name1)
{
argValue = new string[] { name1 };
}
public HideIfDisabledDrawer(string name1, string name2)
{
argValue = new string[] { name1, name2 };
}
public HideIfDisabledDrawer(string name1, string name2, string name3)
{
argValue = new string[] { name1, name2, name3 };
}
public HideIfDisabledDrawer(string name1, string name2, string name3, string name4)
{
argValue = new string[] { name1, name2, name3, name4 };
}
//-------------------------------------------------------------------------------------------------
public override void OnGUI(Rect position, MaterialProperty prop, string label, MaterialEditor editor)
{
bElementHidden = false;
for (int i = 0; i < editor.targets.Length; i++)
{
//material object that we're targetting...
Material mat = editor.targets[i] as Material;
if (mat != null)
{
//check for the dependencies:
for (int j = 0; j < argValue.Length; j++)
bElementHidden |= !mat.IsKeywordEnabled(argValue[j]);
}
}
if (!bElementHidden)
editor.DefaultShaderProperty(prop, label);
}
//We need to override the height so it's not adding any extra (unfortunately texture drawers will still add an extra bit of padding regardless):
public override float GetPropertyHeight(MaterialProperty prop, string label, MaterialEditor editor)
{
//@TODO: manually standardise element compaction
// float height = base.GetPropertyHeight (prop, label, editor);
// return bElementHidden ? 0.0f : height-16;
return 0;
}
}
#endif

View File

@ -0,0 +1,12 @@
fileFormatVersion: 2
guid: d159eab327129754bbadcc7de8de67c2
timeCreated: 1497094568
licenseType: Store
MonoImporter:
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 84de105c3dc2e914791c182ffb6a7cd1
folderAsset: yes
timeCreated: 1498775548
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,118 @@
Shader "MoonflowerCarnivore/Dissolve Edge"
{
Properties
{
[Enum(Off,0,Front,1,Back,2)] _CullMode ("Culling Mode", int) = 0
[Enum(Off,0,On,1)] _ZWrite("ZWrite", int) = 0
_Progress("Progress",Range(0,1)) = 0
_MainTex("Main Texture", 2D) = "white" {}
_DissolveTex("Dissolve Texture", 2D) = "white" {}
_Edge("Edge",Range(0.01,0.5)) = 0.01
[Header(Edge Color)]
[Toggle(EDGE_COLOR)] _UseEdgeColor("Edge Color?", Float) = 1
[HideIfDisabled(EDGE_COLOR)][NoScaleOffset] _EdgeAroundRamp("Edge Ramp", 2D) = "white" {}
[HideIfDisabled(EDGE_COLOR)]_EdgeAround("Edge Color Range",Range(0,0.5)) = 0
[HideIfDisabled(EDGE_COLOR)]_EdgeAroundPower("Edge Color Power",Range(1,5)) = 1
[HideIfDisabled(EDGE_COLOR)]_EdgeAroundHDR("Edge Color HDR",Range(1,3)) = 1
[HideIfDisabled(EDGE_COLOR)]_EdgeDistortion("Edge Distortion",Range(0,1)) = 0
}
SubShader
{
Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
Pass
{
Blend SrcAlpha OneMinusSrcAlpha //Alpha Blend
Cull[_CullMode] Lighting Off ZWrite[_ZWrite]
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#pragma shader_feature EDGE_COLOR
#include "UnityCG.cginc"
struct appdata
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
fixed4 color : COLOR;
};
struct v2f
{
float2 uv : TEXCOORD0;
float2 uv3 : TEXCOORD3;
float4 vertex : SV_POSITION;
fixed4 color : COLOR;
};
sampler2D _MainTex;
sampler2D _DissolveTex;
float4 _MainTex_ST;
float4 _DissolveTex_ST;
fixed _Edge;
fixed _Progress;
#ifdef EDGE_COLOR
sampler2D _EdgeAroundRamp;
fixed _EdgeAround;
float _EdgeAroundPower;
float _EdgeAroundHDR;
fixed _EdgeDistortion;
#endif
v2f vert (appdata v)
{
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = TRANSFORM_TEX(v.uv, _MainTex);
o.uv3 = TRANSFORM_TEX(v.uv, _DissolveTex);
o.color = v.color;
o.color.a *= _Progress;
return o;
}
fixed4 frag (v2f i) : SV_Target
{
fixed4 col = tex2D(_DissolveTex, i.uv3);
fixed x = col.r;
fixed progress = i.color.a;
//Edge
fixed edge = lerp( x + _Edge, x - _Edge, progress);
fixed alpha = smoothstep( progress + _Edge, progress - _Edge, edge);
#ifdef EDGE_COLOR
//Edge Around Factor
fixed edgearound = lerp( x + _EdgeAround, x - _EdgeAround, progress);
edgearound = smoothstep( progress + _EdgeAround, progress - _EdgeAround, edgearound);
edgearound = pow(edgearound, _EdgeAroundPower);
//Edge Around Distortion
fixed avoid = 0.15f;
fixed distort = edgearound*alpha*avoid;
float2 cuv = lerp( i.uv, i.uv + distort - avoid, progress * _EdgeDistortion);
col = tex2D(_MainTex, cuv);
col.rgb *= i.color.rgb;
//Edge Around Color
fixed3 ca = tex2D(_EdgeAroundRamp, fixed2(1-edgearound, 0)).rgb;
ca = (col.rgb + ca)*ca*_EdgeAroundHDR;
col.rgb = lerp( ca, col.rgb, edgearound);
#else
col = tex2D(_MainTex, i.uv);
col.rgb *= i.color.rgb;
#endif
col.a *= alpha;
return col;
}
ENDCG
}
}
}

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: 3e7899f24eae03e43910c579b8481df4
timeCreated: 1496913651
licenseType: Store
ShaderImporter:
defaultTextures: []
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,9 @@
fileFormatVersion: 2
guid: f6db187b273af114abcfaa6cb4cfbc90
folderAsset: yes
timeCreated: 1498775557
licenseType: Store
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 8b8c0d2a94fa4d540af8c62c70c48cd6
timeCreated: 1496913065
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Standalone
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Android
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: WebGL
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 6e6ee1f34b0234741b0b85bb5a5fd843
timeCreated: 1496913065
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: 1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Standalone
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Android
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: WebGL
maxTextureSize: 2048
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

@ -0,0 +1,92 @@
fileFormatVersion: 2
guid: 6d4096180adb1e84cbb647647f0f331e
timeCreated: 1496913065
licenseType: Store
TextureImporter:
fileIDToRecycleName: {}
serializedVersion: 4
mipmaps:
mipMapMode: 0
enableMipMap: 0
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
filterMode: -1
aniso: -1
mipBias: -1
wrapMode: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spritePixelsToUnits: 100
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Standalone
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: Android
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
- buildTarget: WebGL
maxTextureSize: 2048
textureFormat: -1
textureCompression: 2
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
spritePackingTag:
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,37 @@
Dissolve Edge v1
Please open DissolveEdge scene to see demo. There is only one shader. Properties on material are:
1. Culling Mode
OFF if you want to render both front and back faces.
2. ZWrite
Normally should be ON for opaque objects, OFF for transparent objects, e.g. particle system.
3. Progress
Dissolve from original to invisible (alpha)
4. Main Texture
Normally is the diffuse texture.
5. Dissolve Texture
A black and white texture defining how the main texture is being dissolved.
6. Edge
How soft you want the edge to be
7. Edge Color
- Ramp: Use a gradient texture to define the edge colors
- Range: How soft
- Power: Intensity of the colors
- HDR*: Please apply bloom postprocessing effect to see this effect
- Distortion: The intensity of distortion on the edge
Moonflower Carnivore
moonflowercarnivore@gmail.com
https://www.assetstore.unity3d.com/en/#!/search/page=1/sortby=popularity/query=publisher:12261
https://www.facebook.com/MoonflowerCarnivore

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5d585d793c7f1134ebcfb493efa4184f
timeCreated: 1438387706
licenseType: Store
TextScriptImporter:
userData:
assetBundleName:
assetBundleVariant: