update
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 2131670762bf0d346bc522f8f6a7cc64
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Barrel
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 152848, guid: e2c2f874f7e808a4bb99b90c5c0d3652, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 89525715262953844a40648bc626df55, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: fcc7248b6f746954384a23fff2e8676e
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Concrete
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: adcc07c1b4d949244958f04e8b4afad7, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 623c02857372d0e4c9a8dc809104498c, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: c0ff2d16bbab9f44ba42c0191a303694
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Default
|
||||
m_EditorClassIdentifier:
|
||||
decals: []
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 89525715262953844a40648bc626df55, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 5e058c0270f5ca14eaac7080f57d5cc3
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Dirt
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: 7dd479543444c5144b3c1966b17fca06, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: ce6790aad23ca5444ac5ab151aea9cec, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e1a8fa6bf2308344993f0b8168b5a00c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,17 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Flaming
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: 95246cd7008dd2f4789d197dbbae7ccc, type: 3}
|
||||
hitEffects: []
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 987e73845e02f7348b5346e5f5467bae
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Glass
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: e90698275d0219e4197e3021925bd22f, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 96604447a5f8e9e4a834cba7d5fbd25d, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8527e9d390af89a4daabd35d3516123b
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Metal
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: 84f28c6a10dbe8148aaa8fe054515689, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 89525715262953844a40648bc626df55, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bafe0df184460ad48959c8cfbaa6df5d
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 4f334876bec89dc40a58d294e54231d4, type: 3}
|
||||
m_Name: ImpactEffect@Wood
|
||||
m_EditorClassIdentifier:
|
||||
decals:
|
||||
- {fileID: 183892, guid: 57dda1262bff1c541a37c7eb3df8ff68, type: 3}
|
||||
hitEffects:
|
||||
- {fileID: 100000, guid: 72bfe83995b92e94fad5ba375db97947, type: 3}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: ec647edb005ce054292afe6b66e8edfa
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6479a5f1c58f50847888d0cf539693a6
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,21 @@
|
||||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!114 &11400000
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 0}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: f2c3cbc7843223841a8863bc0cf0899d, type: 3}
|
||||
m_Name: CustomImpactEffect@Flaming
|
||||
m_EditorClassIdentifier:
|
||||
mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0}
|
||||
size: 0.05
|
||||
margin: 0.02
|
||||
fadeSpeed: 0.1
|
||||
alignTransform: 1
|
||||
color: {r: 64, g: 0, b: 0, a: 1}
|
||||
material: {fileID: 2100000, guid: 412eb1e9ca934e14cb83e53aba917e8b, type: 2}
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 65e75d42901aa8245b358965d68f4975
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,8 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 83eec641694472a44b2b8a6ebf8baaf8
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,79 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
namespace Invector.vShooter
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Invector/Shooter/Impact Effects/New Custom ImpactEffect", fileName = "CustomImpactEffect@")]
|
||||
public class vCustomImpactEffectSample : vImpactEffectBase
|
||||
{
|
||||
public enum Align
|
||||
{
|
||||
Right, Forward, UP, Left, Back, Down
|
||||
}
|
||||
public Mesh mesh;
|
||||
public float size = 0.02f;
|
||||
public float margin = 0.01f;
|
||||
public float fadeSpeed = 0.1f;
|
||||
public Align alignTransform;
|
||||
[ColorUsage(true, true)]
|
||||
public Color color;
|
||||
public Material material;
|
||||
public override void DoImpactEffect(Vector3 position, Quaternion rotation, GameObject sender, GameObject receiver)
|
||||
{
|
||||
var dir = rotation * Vector3.forward;
|
||||
GameObject go = new GameObject();
|
||||
go.transform.position = position + dir * margin;
|
||||
|
||||
|
||||
switch (alignTransform)
|
||||
{
|
||||
case Align.Right:
|
||||
go.transform.right = dir;
|
||||
break;
|
||||
case Align.Forward:
|
||||
go.transform.forward = dir;
|
||||
break;
|
||||
case Align.UP:
|
||||
go.transform.up = dir;
|
||||
break;
|
||||
case Align.Left:
|
||||
go.transform.right = -dir;
|
||||
break;
|
||||
case Align.Back:
|
||||
go.transform.forward = -dir;
|
||||
break;
|
||||
case Align.Down:
|
||||
go.transform.up = -dir;
|
||||
break;
|
||||
}
|
||||
var renderer = go.AddComponent<MeshRenderer>();
|
||||
renderer.material = material;
|
||||
renderer.material.color = color;
|
||||
go.AddComponent<MeshFilter>().sharedMesh = mesh;
|
||||
go.transform.localScale = Vector3.one * (size);
|
||||
go.transform.SetParent(vObjectContainer.root, true);
|
||||
go.AddComponent<Fade>().InitFade(renderer, fadeSpeed);
|
||||
}
|
||||
|
||||
public class Fade : MonoBehaviour
|
||||
{
|
||||
public void InitFade(Renderer renderer, float fadeSpeed)
|
||||
{
|
||||
StartCoroutine(FadeColor(renderer, fadeSpeed));
|
||||
}
|
||||
IEnumerator FadeColor(Renderer renderer, float fadeSpeed)
|
||||
{
|
||||
float value = 0;
|
||||
|
||||
while (value < 1)
|
||||
{
|
||||
renderer.material.color = Color.Lerp(renderer.material.color, Color.clear, value);
|
||||
value += fadeSpeed * Time.deltaTime;
|
||||
value = Mathf.Clamp(value, 0f, 1f);
|
||||
yield return null;
|
||||
}
|
||||
Destroy(gameObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: f2c3cbc7843223841a8863bc0cf0899d
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,53 @@
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
namespace Invector.vShooter
|
||||
{
|
||||
[CreateAssetMenu(menuName = "Invector/Shooter/Impact Effects/New ImpactEffect", fileName = "ImpactEffect@")]
|
||||
public class vImpactEffect : vImpactEffectBase
|
||||
{
|
||||
public List<GameObject> decals;
|
||||
public List<GameObject> hitEffects;
|
||||
protected virtual GameObject GetRandomObject(List<GameObject> referenceList)
|
||||
{
|
||||
if (referenceList.Count > 1)
|
||||
{
|
||||
var index = Random.Range(0, referenceList.Count);
|
||||
return referenceList[index];
|
||||
}
|
||||
else if (referenceList.Count == 1)
|
||||
return referenceList[0];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
protected virtual GameObject CreateDecal(Vector3 position, Quaternion rotation)
|
||||
{
|
||||
return CreateInstance(GetRandomObject(decals), position, rotation);
|
||||
}
|
||||
protected virtual GameObject CreateHitEffect(Vector3 position, Quaternion rotation)
|
||||
{
|
||||
return CreateInstance(GetRandomObject(hitEffects), position, rotation);
|
||||
}
|
||||
|
||||
protected GameObject CreateInstance(GameObject target, Vector3 position, Quaternion rotation)
|
||||
{
|
||||
if (target == null) return null;
|
||||
else return Instantiate(target, position, rotation);
|
||||
}
|
||||
|
||||
public override void DoImpactEffect(Vector3 position, Quaternion rotation, GameObject sender, GameObject receiver)
|
||||
{
|
||||
var decal = CreateInstance(GetRandomObject(decals), position, rotation);
|
||||
decal.transform.Rotate(Vector3.forward, Random.Range(0, 360), Space.Self);
|
||||
var hitEffect = CreateInstance(GetRandomObject(hitEffects), position, rotation);
|
||||
if (decal && receiver)
|
||||
{
|
||||
decal.transform.SetParent(receiver.transform, true);
|
||||
}
|
||||
if (hitEffect)
|
||||
{
|
||||
hitEffect.transform.SetParent(vObjectContainer.root, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 4f334876bec89dc40a58d294e54231d4
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
@@ -0,0 +1,18 @@
|
||||
using UnityEngine;
|
||||
namespace Invector.vShooter
|
||||
{
|
||||
/// <summary>
|
||||
/// Base Class used to create Impact Effect
|
||||
/// </summary>
|
||||
public abstract class vImpactEffectBase : ScriptableObject
|
||||
{
|
||||
/// <summary>
|
||||
/// Do Impact effect
|
||||
/// </summary>
|
||||
/// <param name="position">position of impact effect</param>
|
||||
/// <param name="rotation">rotation of impact effect</param>
|
||||
/// <param name="sender">Impact effect sender</param>
|
||||
/// <param name="receiver">Impact effect receiver</param>
|
||||
public abstract void DoImpactEffect(Vector3 position, Quaternion rotation, GameObject sender, GameObject receiver);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 3ec1d6b3f18ce954084e292eba93fad0
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user