Compare commits

..

6 Commits
2.2.0 ... 2.3.0

Author SHA1 Message Date
mob-sakai
9c525ad0f0 update documents for v2.3.0 2019-05-12 16:03:20 +09:00
mob-sakai
66a0ab7ad5 fix #47; World simulation bug 2019-05-08 00:06:46 +09:00
mob-sakai
888eac4e54 update documents for v2.2.1 2019-02-26 11:30:17 +09:00
mob-sakai
f6e64c325b close #45; Disable ParticleSystemRenderer on reset 2019-02-26 11:28:22 +09:00
mob-sakai
beb6fa8367 Format 2019-02-26 11:11:48 +09:00
mob-sakai
6c2ed22e3a fix #44; v2.2.0 has 2 warnings 2019-02-26 11:10:47 +09:00
5 changed files with 69 additions and 14 deletions

View File

@@ -1,5 +1,24 @@
# Changelog
## [v2.3.0](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/v2.3.0) (2019-05-12)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v2.2.1...v2.3.0)
World simulation bug due to transform movement have been fixed
**Fixed bugs:**
- World simulation bug due to transform movement [\#47](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/47)
## [v2.2.1](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/v2.2.1) (2019-02-26)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v2.2.0...v2.2.1)
**Fixed bugs:**
- v2.2.0 has 2 warnings [\#44](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/44)
- Disable ParticleSystemRenderer on reset [\#45](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/45)
## [v2.2.0](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/v2.2.0) (2019-02-23)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v2.1.1...v2.2.0)

View File

@@ -76,7 +76,7 @@ Find the manifest.json file in the Packages folder of your project and edit it t
```js
{
"dependencies": {
"com.coffee.ui-particle": "https://github.com/mob-sakai/ParticleEffectForUGUI.git#2.2.0",
"com.coffee.ui-particle": "https://github.com/mob-sakai/ParticleEffectForUGUI.git#2.2.1",
...
},
}

View File

@@ -228,7 +228,7 @@ namespace Coffee.UIExtensions
{
if (!mat.HasProperty (propName))
{
EditorGUILayout.HelpBox (string.Format("Shader {0} doesn't have '{1}' property. This graphic is not maskable.", shader.name, propName), MessageType.Warning);
EditorGUILayout.HelpBox (string.Format ("Shader {0} doesn't have '{1}' property. This graphic is not maskable.", shader.name, propName), MessageType.Warning);
break;
}
}
@@ -310,7 +310,7 @@ namespace Coffee.UIExtensions
transformMatrix *= emitterMatrix;
Handles.matrix = transformMatrix;
if(uip.canvas.renderMode == RenderMode.ScreenSpaceOverlay || ps.main.scalingMode == ParticleSystemScalingMode.Hierarchy)
if (uip.canvas.renderMode == RenderMode.ScreenSpaceOverlay || ps.main.scalingMode == ParticleSystemScalingMode.Hierarchy)
{
Handles.matrix = Handles.matrix * Matrix4x4.Scale (Vector3.one * uip.scale);
}

View File

@@ -37,7 +37,7 @@ namespace Coffee.UIExtensions
[SerializeField] bool m_IgnoreParent = false;
[Tooltip ("Animatable material properties. AnimationでParticleSystemのマテリアルプロパティを変更する場合、有効にしてください。")]
[SerializeField] AnimatableProperty[] m_AnimatableProperties = new AnimatableProperty[0];
[SerializeField] AnimatableProperty [] m_AnimatableProperties = new AnimatableProperty [0];
static MaterialPropertyBlock s_Mpb;
@@ -54,9 +54,9 @@ namespace Coffee.UIExtensions
};
[SerializeField]
string m_Name;
string m_Name = "";
[SerializeField]
ShaderPropertyType m_Type;
ShaderPropertyType m_Type = ShaderPropertyType.Vector;
public int id { get; private set; }
public ShaderPropertyType type { get { return m_Type; } }
@@ -224,6 +224,13 @@ namespace Coffee.UIExtensions
_mesh.MarkDynamic ();
CheckTrail ();
if (cachedParticleSystem)
{
_oldPos = cachedParticleSystem.main.scalingMode == ParticleSystemScalingMode.Local
? rectTransform.localPosition
: rectTransform.position;
}
base.OnEnable ();
}
@@ -255,6 +262,21 @@ namespace Coffee.UIExtensions
base.OnDisable ();
}
#if UNITY_EDITOR
/// <summary>
/// Reset to default values.
/// </summary>
protected override void Reset ()
{
// Disable ParticleSystemRenderer on reset.
if (cachedParticleSystem)
{
cachedParticleSystem.GetComponent<ParticleSystemRenderer> ().enabled = false;
}
base.Reset ();
}
#endif
/// <summary>
/// Call to update the geometry of the Graphic onto the CanvasRenderer.
/// </summary>
@@ -309,7 +331,7 @@ namespace Coffee.UIExtensions
UIParticle _parent;
List<UIParticle> _children = new List<UIParticle> ();
Matrix4x4 scaleaMatrix = default (Matrix4x4);
Vector3 _worldPos;
Vector3 _oldPos;
static ParticleSystem.Particle [] s_Particles = new ParticleSystem.Particle [4096];
/// <summary>
@@ -358,11 +380,12 @@ namespace Coffee.UIExtensions
Profiler.EndSample ();
Profiler.BeginSample ("Make Matrix");
scaleaMatrix = m_ParticleSystem.main.scalingMode == ParticleSystemScalingMode.Hierarchy
ParticleSystem.MainModule main = m_ParticleSystem.main;
scaleaMatrix = main.scalingMode == ParticleSystemScalingMode.Hierarchy
? Matrix4x4.Scale (scale * Vector3.one)
: Matrix4x4.Scale (scale * rootCanvas.transform.localScale);
Matrix4x4 matrix = default (Matrix4x4);
switch (m_ParticleSystem.main.simulationSpace)
switch (main.simulationSpace)
{
case ParticleSystemSimulationSpace.Local:
matrix =
@@ -375,12 +398,25 @@ namespace Coffee.UIExtensions
scaleaMatrix
* rectTransform.worldToLocalMatrix;
bool isLocalScaling = main.scalingMode == ParticleSystemScalingMode.Local;
Vector3 newPos = rectTransform.position;
Vector3 delta = (newPos - _worldPos);
_worldPos = newPos;
if (canvas.renderMode != RenderMode.WorldSpace && !Mathf.Approximately (scale, 0) && 0 < delta.sqrMagnitude)
Vector3 delta = (newPos - _oldPos);
_oldPos = newPos;
if (!Mathf.Approximately (scale, 0) && 0 < delta.sqrMagnitude)
{
delta *= (1 - 1 / scale);
if(isLocalScaling)
{
var s = rootCanvas.transform.localScale * scale;
delta.x *= 1f - 1f / s.x;
delta.y *= 1f - 1f / s.y;
delta.z *= 1f - 1f / s.z;
}
else
{
delta = delta * (1 - 1 / scale);
}
int count = m_ParticleSystem.particleCount;
if (s_Particles.Length < count)
{

View File

@@ -2,7 +2,7 @@
"name": "com.coffee.ui-particle",
"displayName": "UI Particle",
"description": "This plugin provide a component to render particle effect for uGUI.\nThe particle rendering is maskable and sortable, without Camera, RenderTexture or Canvas.",
"version": "2.2.0",
"version": "2.3.0",
"unity": "2018.2",
"license": "MIT",
"repository": {