This commit is contained in:
2026-05-30 09:16:35 +07:00
parent 2f87ce19a7
commit 1c0ee6efb7
4001 changed files with 3363438 additions and 1738 deletions

View File

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

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: fcc7248b6f746954384a23fff2e8676e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: c0ff2d16bbab9f44ba42c0191a303694
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 5e058c0270f5ca14eaac7080f57d5cc3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: e1a8fa6bf2308344993f0b8168b5a00c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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: []

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 987e73845e02f7348b5346e5f5467bae
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8527e9d390af89a4daabd35d3516123b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: bafe0df184460ad48959c8cfbaa6df5d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ec647edb005ce054292afe6b66e8edfa
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -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}

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 65e75d42901aa8245b358965d68f4975
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@@ -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);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: f2c3cbc7843223841a8863bc0cf0899d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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);
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 4f334876bec89dc40a58d294e54231d4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -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);
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 3ec1d6b3f18ce954084e292eba93fad0
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: