From 22891bf59032ba88262824255a706d652031384b Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 10 Mar 2022 14:07:40 +0800 Subject: * move folder --- Assets/Scripts/Effects/AfterImage.meta | 8 - Assets/Scripts/Effects/AfterImage/AfterImage.cs | 73 -------- .../Scripts/Effects/AfterImage/AfterImage.cs.meta | 11 -- .../Scripts/Effects/AfterImage/AfterImagePool.cs | 78 --------- .../Effects/AfterImage/AfterImagePool.cs.meta | 11 -- Assets/Scripts/Effects/AfterImageEffects.cs | 186 --------------------- Assets/Scripts/Effects/AfterImageEffects.cs.meta | 11 -- Assets/Scripts/Effects/CharacterGhostEffect.cs | 127 -------------- .../Scripts/Effects/CharacterGhostEffect.cs.meta | 11 -- Assets/Scripts/Effects/Effect.cs | 30 ---- Assets/Scripts/Effects/Effect.cs.meta | 11 -- Assets/Scripts/Effects/EffectHandler.cs | 18 -- Assets/Scripts/Effects/EffectHandler.cs.meta | 11 -- Assets/Scripts/Effects/EffectsManager.cs | 73 -------- Assets/Scripts/Effects/EffectsManager.cs.meta | 11 -- Assets/Scripts/Effects/FxClear.cs | 167 ------------------ Assets/Scripts/Effects/FxClear.cs.meta | 11 -- Assets/Scripts/Effects/HairAssignMaterials.cs | 26 --- Assets/Scripts/Effects/HairAssignMaterials.cs.meta | 11 -- Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs | 124 -------------- .../Effects/ShurikenBakedMeshEmitter.cs.meta | 11 -- Assets/Scripts/Effects/Spark.cs | 36 ---- Assets/Scripts/Effects/Spark.cs.meta | 11 -- Assets/Scripts/Effects/SparksManager.cs | 91 ---------- Assets/Scripts/Effects/SparksManager.cs.meta | 11 -- 25 files changed, 1169 deletions(-) delete mode 100644 Assets/Scripts/Effects/AfterImage.meta delete mode 100644 Assets/Scripts/Effects/AfterImage/AfterImage.cs delete mode 100644 Assets/Scripts/Effects/AfterImage/AfterImage.cs.meta delete mode 100644 Assets/Scripts/Effects/AfterImage/AfterImagePool.cs delete mode 100644 Assets/Scripts/Effects/AfterImage/AfterImagePool.cs.meta delete mode 100644 Assets/Scripts/Effects/AfterImageEffects.cs delete mode 100644 Assets/Scripts/Effects/AfterImageEffects.cs.meta delete mode 100644 Assets/Scripts/Effects/CharacterGhostEffect.cs delete mode 100644 Assets/Scripts/Effects/CharacterGhostEffect.cs.meta delete mode 100644 Assets/Scripts/Effects/Effect.cs delete mode 100644 Assets/Scripts/Effects/Effect.cs.meta delete mode 100644 Assets/Scripts/Effects/EffectHandler.cs delete mode 100644 Assets/Scripts/Effects/EffectHandler.cs.meta delete mode 100644 Assets/Scripts/Effects/EffectsManager.cs delete mode 100644 Assets/Scripts/Effects/EffectsManager.cs.meta delete mode 100644 Assets/Scripts/Effects/FxClear.cs delete mode 100644 Assets/Scripts/Effects/FxClear.cs.meta delete mode 100644 Assets/Scripts/Effects/HairAssignMaterials.cs delete mode 100644 Assets/Scripts/Effects/HairAssignMaterials.cs.meta delete mode 100644 Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs delete mode 100644 Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs.meta delete mode 100644 Assets/Scripts/Effects/Spark.cs delete mode 100644 Assets/Scripts/Effects/Spark.cs.meta delete mode 100644 Assets/Scripts/Effects/SparksManager.cs delete mode 100644 Assets/Scripts/Effects/SparksManager.cs.meta (limited to 'Assets/Scripts/Effects') diff --git a/Assets/Scripts/Effects/AfterImage.meta b/Assets/Scripts/Effects/AfterImage.meta deleted file mode 100644 index 4d4c324a..00000000 --- a/Assets/Scripts/Effects/AfterImage.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d16ac0401b1e91a4fa81ceec42b004d8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/AfterImage/AfterImage.cs b/Assets/Scripts/Effects/AfterImage/AfterImage.cs deleted file mode 100644 index 7f40e119..00000000 --- a/Assets/Scripts/Effects/AfterImage/AfterImage.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class AfterImage : MonoBehaviour -{ - public Animator myAnimator; - //public CharacterControl myCharacterControl; - public Renderer[] myRenderers; - - public Animator targetAnimator; - public GameObject targetObject; - - public float time; - public float intensity; - public float pow; - public float timeMax = 45; - - public bool active; - - // Use this for initialization - void Start() - { - //targetObject = - } - - // Update is called once per frame - void Update() - { - if (time > 0) - { - time--; - active = true; - intensity = (time / timeMax) * 10 * pow; - UpdateRenderer(); - } - else - { - active = false; - intensity = 0; - this.transform.gameObject.SetActive(false); - } - } - - void UpdateRenderer() - { - foreach(var renderer in myRenderers) - { - for(int i = 0;i < renderer.materials.Length; ++i) - { - renderer.materials[i].SetFloat("_Intensity", intensity); - renderer.materials[i].SetFloat("_MKGlowPower", intensity); - } - } - } - - public void Activate() - { - active = true; - transform.position = targetObject.transform.position; - transform.localScale = targetObject.transform.lossyScale; - transform.rotation = targetObject.transform.rotation; - transform.gameObject.SetActive(true); - - myAnimator.Play(targetAnimator.GetCurrentAnimatorStateInfo(0).shortNameHash, 0, targetAnimator.GetCurrentAnimatorStateInfo(0).normalizedTime); - - myAnimator.speed = 0.02f; - myAnimator.Update(1/60f); - time = timeMax + 1; - Update(); - } - -} \ No newline at end of file diff --git a/Assets/Scripts/Effects/AfterImage/AfterImage.cs.meta b/Assets/Scripts/Effects/AfterImage/AfterImage.cs.meta deleted file mode 100644 index cd1fd19a..00000000 --- a/Assets/Scripts/Effects/AfterImage/AfterImage.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5912e1e5f1e32ea429bf6a9ec2d11a0f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs b/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs deleted file mode 100644 index 38d3488d..00000000 --- a/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class AfterImagePool : MonoBehaviour -{ - public static AfterImagePool Instance; - - //public CharacterControl myCharacterControl; - public GameObject targetObject; //Set these manually to the character object you're copying - public Animator targetAnimator; //Set these manually to the character object you're copying - public GameObject prefab; //This is the prefab you made in the scene. It's a parent transform with an animator and AfterImage script on it, with Armature and SkinnedMeshRenderer children - public int poolSize = 10; - public List afterImages; - - public int interval = 10; - - public int time = 0; - - private bool isActive = false; - - // Use this for initialization - void Start() - { - afterImages = new List(poolSize); - for (int i = 0; i < poolSize; i++) - { - GameObject nextAfterImage = Instantiate(prefab); - nextAfterImage.transform.SetParent(this.transform); - - nextAfterImage.GetComponent().targetObject = targetObject; //Game Object Target - nextAfterImage.GetComponent().targetAnimator = targetAnimator; //Animator Target - - nextAfterImage.SetActive(false); - - afterImages.Add(nextAfterImage.GetComponent()); - } - Instance = this; - } - - // Update is called once per frame - void Update() - { - if (!isActive) - return; - - time++; - if (time >= interval) - { - time = 0; - AddAfterImage(); - } - } - - void AddAfterImage() - { - for (int i = 0; i < poolSize; i++) - { - if (!afterImages[i].active) - { - afterImages[i].Activate(); - break; - } - } - } - - public void Activate(bool isActive) - { - this.isActive = isActive; - time = isActive ? interval : 0; - } - - public void SetInterval(int interval) - { - this.interval = interval; - } - -} \ No newline at end of file diff --git a/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs.meta b/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs.meta deleted file mode 100644 index 78d84907..00000000 --- a/Assets/Scripts/Effects/AfterImage/AfterImagePool.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 4aaea939b0abb3c4eb78963aedf4b2f3 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/AfterImageEffects.cs b/Assets/Scripts/Effects/AfterImageEffects.cs deleted file mode 100644 index e6dd57e7..00000000 --- a/Assets/Scripts/Effects/AfterImageEffects.cs +++ /dev/null @@ -1,186 +0,0 @@ -// using UnityEngine; -//using System.Collections; -//using System.Collections.Generic; -///// -///// 残影特效 -///// -//public class AfterImageEffects : MonoBehaviour -//{ - -// public Material[] materials = new Material[8]; - -// //开启残影 -// public bool _OpenAfterImage; - -// //残影颜色 -// public Color _AfterImageColor = Color.black; -// //残影的生存时间 -// public float _SurvivalTime = 1; -// //生成残影的间隔时间 -// public float _IntervalTime = 0.2f; -// private float _Time = 0; -// //残影初始透明度 -// [Range(0.1f, 1.0f)] -// public float _InitialAlpha = 1.0f; - -// private List _AfterImageList; -// private SkinnedMeshRenderer _SkinnedMeshRenderer; - -// void Awake() -// { -// _AfterImageList = new List(); -// _SkinnedMeshRenderer = GetComponent(); -// } -// void Update() -// { -// if (_OpenAfterImage && _AfterImageList != null) -// { -// if (_SkinnedMeshRenderer == null) -// { -// _OpenAfterImage = false; -// return; -// } - -// _Time += Time.deltaTime; -// //生成残影 -// CreateAfterImage(); -// //刷新残影 -// UpdateAfterImage(); -// } -// } -// /// -// /// 生成残影 -// /// -// void CreateAfterImage() -// { -// //生成残影 -// if (_Time >= _IntervalTime) -// { -// _Time = 0; - -// Mesh mesh = new Mesh(); -// _SkinnedMeshRenderer.BakeMesh(mesh); - -// Material material = new Material(_SkinnedMeshRenderer.material); -// // SetMaterialRenderingMode(material, RenderingMode.Fade); - -// _AfterImageList.Add(new AfterImage( -// mesh, -// material, -// transform.localToWorldMatrix, -// _InitialAlpha, -// Time.realtimeSinceStartup, -// _SurvivalTime)); -// } -// } -// /// -// /// 刷新残影 -// /// -// void UpdateAfterImage() -// { -// //刷新残影,根据生存时间销毁已过时的残影 -// for (int i = 0; i < _AfterImageList.Count; i++) -// { -// float _PassingTime = Time.realtimeSinceStartup - _AfterImageList[i]._StartTime; - -// if (_PassingTime > _AfterImageList[i]._Duration) -// { -// _AfterImageList.Remove(_AfterImageList[i]); -// Destroy(_AfterImageList[i]); -// continue; -// } - -// if (_AfterImageList[i]._Material.HasProperty("_Color")) -// { -// _AfterImageList[i]._Alpha *= (1 - _PassingTime / _AfterImageList[i]._Duration); -// _AfterImageColor.a = _AfterImageList[i]._Alpha; -// // _AfterImageList[i]._Material.SetColor("_Color", _AfterImageColor); -// } - -// // 绘制submesh -// for(int j = 0; j < _AfterImageList[i]._Mesh.subMeshCount; ++j) -// { -// if (j >= 4) continue; -// Graphics.DrawMesh(_AfterImageList[i]._Mesh, _AfterImageList[i]._Matrix, /*_AfterImageList[i]._Material*/materials[j], gameObject.layer, null, j); -// } -// } -// } -// /// -// /// 设置纹理渲染模式 -// /// -// void SetMaterialRenderingMode(Material material, RenderingMode renderingMode) -// { -// switch (renderingMode) -// { -// case RenderingMode.Opaque: -// material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); -// material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); -// material.SetInt("_ZWrite", 1); -// material.DisableKeyword("_ALPHATEST_ON"); -// material.DisableKeyword("_ALPHABLEND_ON"); -// material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); -// material.renderQueue = -1; -// break; -// case RenderingMode.Cutout: -// material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); -// material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); -// material.SetInt("_ZWrite", 1); -// material.EnableKeyword("_ALPHATEST_ON"); -// material.DisableKeyword("_ALPHABLEND_ON"); -// material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); -// material.renderQueue = 2450; -// break; -// case RenderingMode.Fade: -// material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.SrcAlpha); -// material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); -// material.SetInt("_ZWrite", 0); -// material.DisableKeyword("_ALPHATEST_ON"); -// material.EnableKeyword("_ALPHABLEND_ON"); -// material.DisableKeyword("_ALPHAPREMULTIPLY_ON"); -// material.renderQueue = 3000; -// break; -// case RenderingMode.Transparent: -// material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); -// material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); -// material.SetInt("_ZWrite", 0); -// material.DisableKeyword("_ALPHATEST_ON"); -// material.DisableKeyword("_ALPHABLEND_ON"); -// material.EnableKeyword("_ALPHAPREMULTIPLY_ON"); -// material.renderQueue = 3000; -// break; -// } -// } -//} -//public enum RenderingMode -//{ -// Opaque, -// Cutout, -// Fade, -// Transparent, -//} -//class AfterImage : Object -//{ -// //残影网格 -// public Mesh _Mesh; -// //残影纹理 -// public Material _Material; -// //残影位置 -// public Matrix4x4 _Matrix; -// //残影透明度 -// public float _Alpha; -// //残影启动时间 -// public float _StartTime; -// //残影保留时间 -// public float _Duration; - -// public AfterImage(Mesh mesh, Material material, Matrix4x4 matrix4x4, float alpha, float startTime, float duration) -// { -// _Mesh = mesh; -// _Material = material; -// _Matrix = matrix4x4; -// _Alpha = alpha; -// _StartTime = startTime; -// _Duration = duration; -// } - -//} \ No newline at end of file diff --git a/Assets/Scripts/Effects/AfterImageEffects.cs.meta b/Assets/Scripts/Effects/AfterImageEffects.cs.meta deleted file mode 100644 index f2bd3581..00000000 --- a/Assets/Scripts/Effects/AfterImageEffects.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3f9a1194f9a331f41b8f32865ba192bb -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/CharacterGhostEffect.cs b/Assets/Scripts/Effects/CharacterGhostEffect.cs deleted file mode 100644 index d422c0a7..00000000 --- a/Assets/Scripts/Effects/CharacterGhostEffect.cs +++ /dev/null @@ -1,127 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class CharacterGhostEffect : EffectHandler -{ - [Tooltip("目标skinMeshRenderer")] - public SkinnedMeshRenderer m_Renderer; - - [Tooltip("如果mesh包含多个submesh,需要每个submesh单独设置一个材质")] - public Material[] Materials; - - [Tooltip("Submesh是否使用同一个材质")] - public bool SubmeshShareMaterial; - - [Tooltip("使用范围内的submesh")] - public bool UseRangedSubmesh; - - [Tooltip("Submesh索引范围")] - public Vector2Int SubmeshRange; - - [Tooltip("是否开启残影效果")] - public bool IsEnable; - - [Tooltip("残影生成的时间间隔")] - public float Interval = 0.1f; - - [Tooltip("残影的生存时间")] - public float LifeTime = 0.5f; - - private float m_Time = 0; - private List m_Ghosts = new List(); - - void Update() - { - //if (!IsEnable) - //{ - // if (m_Ghosts.Count > 0) - // UpdateGhost(); // destroy ghosts - // return; - //} - - if (m_Ghosts == null || m_Renderer == null || Materials == null || Materials.Length == 0) - { - IsEnable = false; - return; - } - - m_Time += Time.deltaTime; - - //if(IsEnable) - // CreateGhost(); - - UpdateGhost(); - DrawGhost(); - } - - public void CreateGhost() - { - if(m_Time >= Interval) - { - m_Time -= Interval; - - Mesh mesh = new Mesh(); - m_Renderer.BakeMesh(mesh); - - Matrix4x4 mat = m_Renderer.localToWorldMatrix; - - m_Ghosts.Add(new GhostSnapshot(mesh, mat, Time.realtimeSinceStartup, LifeTime)); - } - } - - void UpdateGhost() - { - for(int i = m_Ghosts.Count - 1; i >= 0 ; --i) - { - GhostSnapshot ghost = m_Ghosts[i]; - float passTime = Time.realtimeSinceStartup - ghost.startTime; - - if (passTime > ghost.lifeTime) - { - m_Ghosts.Remove(ghost); - Destroy(ghost); - continue; - } - } - } - - void DrawGhost() - { - for(int i = 0; i < m_Ghosts.Count; ++ i) - { - GhostSnapshot ghost = m_Ghosts[i]; - int start = 0, end = ghost.mesh.subMeshCount - 1; - if(UseRangedSubmesh) - { - start = SubmeshRange.x; - end = SubmeshRange.y; - } - for (int j = start; j <= end; ++j) - { - Material material; - if (SubmeshShareMaterial) - material = Materials[0]; - else - material = Materials[j - start]; - Graphics.DrawMesh(ghost.mesh, ghost.matrix, material, gameObject.layer, null, j); - } - } - } -} - -class GhostSnapshot : Object -{ - public Mesh mesh; - public Matrix4x4 matrix; - public float startTime; - public float lifeTime; - - public GhostSnapshot(Mesh mesh, Matrix4x4 mat, float startTime, float lifeTime) - { - this.mesh = mesh; - this.matrix = mat; - this.startTime = startTime; - this.lifeTime = lifeTime; - } -} diff --git a/Assets/Scripts/Effects/CharacterGhostEffect.cs.meta b/Assets/Scripts/Effects/CharacterGhostEffect.cs.meta deleted file mode 100644 index 9a1f3a3a..00000000 --- a/Assets/Scripts/Effects/CharacterGhostEffect.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 76b355b49906df24cac5ccfb0de69331 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/Effect.cs b/Assets/Scripts/Effects/Effect.cs deleted file mode 100644 index a8f0d37f..00000000 --- a/Assets/Scripts/Effects/Effect.cs +++ /dev/null @@ -1,30 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Effect : MonoBehaviour -{ - public string Name; - public float LifeTime; - - private float time; - - private void Awake() - { - } - - private void OnEnable() - { - time = 0; - } - - private void Update() - { - time += Time.deltaTime; - if(time > LifeTime) - { - EffectsManager.Instance.CycleEffect(this); - } - } - -} diff --git a/Assets/Scripts/Effects/Effect.cs.meta b/Assets/Scripts/Effects/Effect.cs.meta deleted file mode 100644 index ea99b00a..00000000 --- a/Assets/Scripts/Effects/Effect.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a0f48b3d527ef6c49999e8a4b9892cd9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/EffectHandler.cs b/Assets/Scripts/Effects/EffectHandler.cs deleted file mode 100644 index 265a1001..00000000 --- a/Assets/Scripts/Effects/EffectHandler.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class EffectHandler : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } -} diff --git a/Assets/Scripts/Effects/EffectHandler.cs.meta b/Assets/Scripts/Effects/EffectHandler.cs.meta deleted file mode 100644 index 81ee0c34..00000000 --- a/Assets/Scripts/Effects/EffectHandler.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 83576b34fc8f74048a5c050c30ab463f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/EffectsManager.cs b/Assets/Scripts/Effects/EffectsManager.cs deleted file mode 100644 index f62b0bdb..00000000 --- a/Assets/Scripts/Effects/EffectsManager.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using System; - -public class EffectsManager : MonoBehaviour -{ - public static EffectsManager Instance; - - public Effect[] EffectTemplates; - - public Transform Root_Pool; - - List m_Pool = new List(); - - private void Awake() - { - Instance = this; - } - - Effect GetEffectTemplate(string name) - { - foreach(var effect in EffectTemplates) - { - if(effect != null && effect.Name == name) - { - return effect; - } - } - return null; - } - - Effect RecycleEffect(string name) - { - foreach(var effect in m_Pool) - { - if (effect != null && effect.Name == name) - { - return effect; - } - } - return null; - } - - public void PlayEffect(string name, Vector3 position, Vector3 rotation, Vector3 scale) - { - Effect effect = RecycleEffect(name); - if(effect == null) - { - Effect temp = GetEffectTemplate(name); - effect = UnityEngine.Object.Instantiate(temp); - } - else - { - m_Pool.Remove(effect); - } - - effect.transform.position = position; - effect.transform.rotation = Quaternion.Euler(rotation); - effect.transform.localScale = scale; - effect.transform.SetParent(this.transform); - effect.gameObject.SetActive(true); - } - - // 回收特效 - public void CycleEffect(Effect effect) - { - effect.gameObject.SetActive(false); - effect.transform.SetParent(Root_Pool); - m_Pool.Add(effect); - } - -} diff --git a/Assets/Scripts/Effects/EffectsManager.cs.meta b/Assets/Scripts/Effects/EffectsManager.cs.meta deleted file mode 100644 index b8dd8f96..00000000 --- a/Assets/Scripts/Effects/EffectsManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: db461c57209f8a241a28d33730ad12ef -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/FxClear.cs b/Assets/Scripts/Effects/FxClear.cs deleted file mode 100644 index af3a7003..00000000 --- a/Assets/Scripts/Effects/FxClear.cs +++ /dev/null @@ -1,167 +0,0 @@ -using UnityEngine; -using UnityEngine.Events; -using System.Collections; -using System.Collections.Generic; - -public enum EffectPlayTypes -{ - None = 0, - Oneshot, - Loop, -} - -public static class TransformEx -{ - - public static void DoRecursively(this Transform root, System.Action action, bool containMe = true) - { - if (containMe) - action(root); - foreach (Transform child in root) - child.DoRecursively(action); - } - -} - -public struct PlayEffectInfo -{ - public string path { get; set; } - public Transform rootTr { get; set; } - public bool bAttached { get; set; } - public Vector3 posOffset { get; set; } - public Vector3 rot { get; set; } - public Vector3 scale { get; set; } - public EffectPlayTypes playEffectType { get; set; } -} - -public class FxClear : MonoBehaviour -{ - [SerializeField] - public float ClearTime = 2f; - - private EffectPlayTypes m_EffectPlayType = EffectPlayTypes.None; - - private Transform m_Root = null; //根节点,可以是角色或者某个骨骼,如果是空,代表是世界空间 - private bool m_Attached = false; // 跟随根节点运动 - - private Vector3 m_Offset = Vector3.zero; - private Vector3 m_Rotation = Vector3.zero; - private Vector3 m_Scale = Vector3.one; - - private Quaternion m_RootRot = Quaternion.identity; - private Vector3 m_RootPos = Vector3.zero; - -#if UNITY_EDITOR - private double m_PrevTime = 0.0f; - private float m_RemoveWaitTime = 0.0f; - private bool m_DestroyRequested = false; -#endif - - private float m_CurTime = 0.0f; - public float time { get { return m_CurTime; } } - - private void Awake() - { - if (ClearTime <= float.Epsilon) - m_EffectPlayType = EffectPlayTypes.Loop; - } - - private void Start() - { - } - - private void OnDestroy() - { - Release(); - } - - public void Initialize(PlayEffectInfo info) - { - m_EffectPlayType = info.playEffectType; - m_Root = info.rootTr; - m_CurTime = 0.0f; - m_Offset = info.posOffset; - m_Rotation = info.rot; - m_Scale = info.scale; - m_Attached = info.bAttached; - - if(info.rootTr != null) - { - m_RootPos = info.rootTr.transform.position; - m_RootRot = info.rootTr.transform.rotation; - } - - SyncTr(); - gameObject.SetActive(true); - } - - public void Release() - { - m_Root = null; - m_CurTime = 0.0f; - m_Attached = false; - m_Offset = Vector3.zero; - m_Rotation = Vector3.zero; - m_Scale = Vector3.zero; - } - - // 同步特效的缩放、旋转和位置 - private void SyncTr() - { - if (transform == null || transform.gameObject == null) - return; - - if (m_Scale != Vector3.zero) - { - transform.localScale = m_Scale; - } - - if (m_Root == null) // 世界空间 - { - transform.position = m_Offset; - transform.rotation = Quaternion.Euler(m_Rotation); - } - else - { - if (m_Attached) - { - if(m_Root) - { - transform.rotation = m_Root.rotation * Quaternion.Euler(m_Rotation); - transform.position = m_Root.TransformPoint(m_Offset); - } - else - { - transform.rotation = m_RootRot * Quaternion.Euler(m_Rotation); - transform.position = m_RootPos + (m_RootRot * m_Offset); - } - } - else - { - transform.rotation = m_RootRot * Quaternion.Euler(m_Rotation); - transform.position = m_RootPos + (m_RootRot * m_Offset); - } - } - } - - public void Restore() - { - DestroyImmediate(this.gameObject); - } - - public void UpdateFunc(float dt) - { - m_CurTime += dt; - SyncTr(); - if (m_EffectPlayType != EffectPlayTypes.Loop && m_CurTime >= ClearTime) - { - Restore(); - return; - } - } - - private void Update() - { - UpdateFunc(Time.unscaledDeltaTime); - } -} \ No newline at end of file diff --git a/Assets/Scripts/Effects/FxClear.cs.meta b/Assets/Scripts/Effects/FxClear.cs.meta deleted file mode 100644 index 2d25b100..00000000 --- a/Assets/Scripts/Effects/FxClear.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: fe3f4700e4af0b34b82b4ff79b1d8fec -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/HairAssignMaterials.cs b/Assets/Scripts/Effects/HairAssignMaterials.cs deleted file mode 100644 index d2b42d05..00000000 --- a/Assets/Scripts/Effects/HairAssignMaterials.cs +++ /dev/null @@ -1,26 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -[ExecuteInEditMode] -public class HairAssignMaterials : MonoBehaviour -{ - public Material material; - - public SkinnedMeshRenderer renderer; - - public int count; - - public void OnEnable() - { - if (renderer == null) - return; - Material[] materials = new Material[count]; - for(int i = 0; i < count;++i) - { - materials[i] = material; - } - renderer.sharedMaterials = materials; - } - -} diff --git a/Assets/Scripts/Effects/HairAssignMaterials.cs.meta b/Assets/Scripts/Effects/HairAssignMaterials.cs.meta deleted file mode 100644 index a4a2c636..00000000 --- a/Assets/Scripts/Effects/HairAssignMaterials.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 06f8e7dbd5d25034ab87247a8458ed28 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs b/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs deleted file mode 100644 index 65a36d9d..00000000 --- a/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs +++ /dev/null @@ -1,124 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class ShurikenBakedMeshEmitter : MonoBehaviour -{ - [Tooltip("パーティクルで使用したいメッシュ")] - public SkinnedMeshRenderer skin; - //使用するメッシュの現在の形を保存 - Mesh baked; - //再生に使用するパーティクルシステム - ParticleSystem particle; - ParticleSystemRenderer render; - [Tooltip("パーティクルの再生/停止")] - public bool emit; - [Tooltip("パーティクルを放出する間隔(秒)")] - public float coolDown = 0.5f; - //現在の待機時間 - float interval = 0; - - // Use this for initialization - void Start() - { - //元となるメッシュが指定されていなければ本スクリプトを停止 - if (!skin) - this.enabled = false; - //使用するパーティクルシステムへのアクセス - particle = GetComponent(); - render = GetComponent(); - } - - // Update is called once per frame - void Update() - { - //emitが[true]なら... - if (emit) - { - //待機時間の計算 - interval -= Time.deltaTime; - //必要分の待機時間が経過したなら... - if (interval < 0) - { - //シーンに新たなGameObjectを再生(本GameObjectのコピー) - GameObject newEmitter = Instantiate(gameObject, transform.position, transform.rotation) as GameObject; - //再生したGameObjectにEmitMesh()を指示 - newEmitter.GetComponent().EmitMesh(); - //待機時間のリセット - interval = coolDown; - } - //emitが[false]なら... - } - else - { - //待機時間のリセット - interval = coolDown; - } - } - - //外部からのアクセスでパーティクルの再生をさせる - public void EmitMesh() - { - //Update ()させない為に[false] - emit = false; - //メッシュの型をリセット - baked = new Mesh(); - //使用するメッシュの現在の形を保存 - skin.BakeMesh(baked); - - //自身のパーティクルシステムへのアクセス - particle = GetComponent(); - render = GetComponent(); - - Mesh mainMesh = baked; - Mesh meshToCopy = new Mesh(); - meshToCopy.vertices = mainMesh.vertices; - meshToCopy.triangles = mainMesh.triangles; - meshToCopy.normals = mainMesh.normals; - meshToCopy.uv = mainMesh.uv; - int amount = 8; - Matrix4x4[] matrix = new Matrix4x4[amount]; - for (int i = 0; i < amount; i++) - { - matrix[i].SetTRS(new Vector3(i * 10, 0, 0), Quaternion.Euler(new Vector3(Random.Range(-5, 5), Random.Range(0, 360), Random.Range(-5, 5))), Vector3.one); - } - - CombineInstance[] ci = new CombineInstance[amount]; - for (int i = 0; i < amount; i++) - { - ci[i] = new CombineInstance(); - ci[i].mesh = meshToCopy; - ci[i].transform = matrix[i]; - } - - Mesh batchedMesh = gameObject.AddComponent().mesh = new Mesh(); - batchedMesh.CombineMeshes(ci); - - int[] mainSubTri; - int[] newSubTri; - batchedMesh.subMeshCount = mainMesh.subMeshCount; - - for (int i = 0; i < mainMesh.subMeshCount; i++) - { - mainSubTri = mainMesh.GetTriangles(i); - - newSubTri = new int[mainSubTri.Length * amount]; - - for (int ii = 0; ii < amount; ii++) - { - for (int iii = 0; iii < mainSubTri.Length; iii++) - { - newSubTri[(ii * mainSubTri.Length) + iii] = mainSubTri[iii] + (ii * mainMesh.vertexCount); - } - } - batchedMesh.SetTriangles(newSubTri, i); - } - - - //パーティクルシステムで使用するメッシュを指定 - render.mesh = meshToCopy; - //パーティクルの再生 - particle.Play(); - //本GameObjectの破棄の指示 - Destroy(gameObject, particle.duration); - } -} \ No newline at end of file diff --git a/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs.meta b/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs.meta deleted file mode 100644 index b39edab1..00000000 --- a/Assets/Scripts/Effects/ShurikenBakedMeshEmitter.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9bd02b95bf27c724ea9bb26806323053 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/Spark.cs b/Assets/Scripts/Effects/Spark.cs deleted file mode 100644 index 5f8856c4..00000000 --- a/Assets/Scripts/Effects/Spark.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Spark : MonoBehaviour -{ - public string Name; - public float LifeTime; - - private float time; - - public Transform Host; - - private void Awake() - { - } - - private void OnEnable() - { - time = 0; - } - - private void Update() - { - time += Time.deltaTime; - if(time > LifeTime) - { - SparksManager.Instance.CycleSpark(this); - } - if (Host != null) - { - transform.position = Host.position; - } - } - -} diff --git a/Assets/Scripts/Effects/Spark.cs.meta b/Assets/Scripts/Effects/Spark.cs.meta deleted file mode 100644 index c1c05447..00000000 --- a/Assets/Scripts/Effects/Spark.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 35fa504215dc5194a944721d5cc378af -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Assets/Scripts/Effects/SparksManager.cs b/Assets/Scripts/Effects/SparksManager.cs deleted file mode 100644 index 6825f615..00000000 --- a/Assets/Scripts/Effects/SparksManager.cs +++ /dev/null @@ -1,91 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using System; - -public class SparksManager : MonoBehaviour -{ - public static SparksManager Instance; - - public Spark[] SparkTemplates; - - public Transform Root_Pool; - - List m_Pool = new List(); - - private void Awake() - { - Instance = this; - } - - Spark GetSparkTemplate(string name) - { - foreach (var effect in SparkTemplates) - { - if (effect != null && effect.Name == name) - { - return effect; - } - } - return null; - } - - Spark RecycleSpark(string name) - { - foreach (var effect in m_Pool) - { - if (effect != null && effect.Name == name) - { - return effect; - } - } - return null; - } - - public void PlaySpark(string name, Vector3 position) - { - Spark effect = RecycleSpark(name); - if (effect == null) - { - Spark temp = GetSparkTemplate(name); - effect = UnityEngine.Object.Instantiate(temp); - } - else - { - m_Pool.Remove(effect); - } - - effect.Host = null; - effect.transform.position = position; - effect.transform.SetParent(this.transform); - effect.gameObject.SetActive(true); - } - - - public void PlaySpark(string name, Transform host) - { - Spark effect = RecycleSpark(name); - if (effect == null) - { - Spark temp = GetSparkTemplate(name); - effect = UnityEngine.Object.Instantiate(temp); - } - else - { - m_Pool.Remove(effect); - } - effect.Host = host; - effect.transform.position = host.position; - effect.transform.SetParent(this.transform); - effect.gameObject.SetActive(true); - } - - // 回收特效 - public void CycleSpark(Spark effect) - { - effect.gameObject.SetActive(false); - effect.transform.SetParent(Root_Pool); - m_Pool.Add(effect); - } - -} diff --git a/Assets/Scripts/Effects/SparksManager.cs.meta b/Assets/Scripts/Effects/SparksManager.cs.meta deleted file mode 100644 index 84d3b608..00000000 --- a/Assets/Scripts/Effects/SparksManager.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c1cf80a321371944a9a3e8dfbe7e5134 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: -- cgit v1.1-26-g67d0