Compare commits

...

3 Commits
2.0.0 ... 2.1.0

Author SHA1 Message Date
mob-sakai
8c674cba2e update documents for v2.1.0 2019-02-07 10:44:25 +09:00
mob-sakai
87bdefce2b fix #37; When moving the transform in world simulation mode, particles don't behave as expected 2019-02-06 20:51:35 +09:00
mob-sakai
59fc95f1ea Update demo 2019-01-17 22:10:07 +09:00
5 changed files with 51 additions and 11 deletions

View File

@@ -1,8 +1,24 @@
# Changelog
## [2.0.0](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/2.0.0) (2019-01-17)
## [v2.1.0](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/v2.1.0) (2019-02-07)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v1.3.3...2.0.0)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/v2.0.0...v2.1.0)
World simulation bug is fixed.
Before:
![](https://user-images.githubusercontent.com/12690315/52271654-a1008380-2987-11e9-8afc-51bfe634d78e.gif)
After:
![](https://user-images.githubusercontent.com/12690315/52338840-d2905200-2a4e-11e9-8e53-14b39808ecad.gif)
**Fixed bugs:**
- When moving the transform in world simulation mode, particles don't behave as expected [\#37](https://github.com/mob-sakai/ParticleEffectForUGUI/issues/37)
## [v2.0.0](https://github.com/mob-sakai/ParticleEffectForUGUI/tree/v2.0.0) (2019-01-17)
[Full Changelog](https://github.com/mob-sakai/ParticleEffectForUGUI/compare/2.0.0...v2.0.0)
**Install UIParticle with Unity Package Manager!**
@@ -148,4 +164,4 @@ You can mask and sort particles for uGUI without Camera, RenderTexture, Canvas.
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*

View File

@@ -74,12 +74,12 @@ 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.0.0",
"com.coffee.ui-particle": "https://github.com/mob-sakai/ParticleEffectForUGUI.git#2.1.0",
...
},
}
```
To update the package, change `#2.0.0` to the target version.
To update the package, change `#{version}` to the target version.
#### Using .unitypackage file (for Unity 2018.2+)

View File

@@ -236,6 +236,8 @@ namespace Coffee.UIExtensions
UIParticle _parent;
List<UIParticle> _children = new List<UIParticle> ();
Matrix4x4 scaleaMatrix = default (Matrix4x4);
Vector3 _worldPos;
static ParticleSystem.Particle [] s_Particles = new ParticleSystem.Particle [4096];
/// <summary>
/// Update meshes.
@@ -284,21 +286,43 @@ namespace Coffee.UIExtensions
Profiler.BeginSample ("Make Matrix");
scaleaMatrix = m_ParticleSystem.main.scalingMode == ParticleSystemScalingMode.Hierarchy
? Matrix4x4.Scale (scale * Vector3.one)
: Matrix4x4.Scale (scale * rootCanvas.transform.localScale);
? Matrix4x4.Scale (scale * Vector3.one)
: Matrix4x4.Scale (scale * rootCanvas.transform.localScale);
Matrix4x4 matrix = default (Matrix4x4);
switch (m_ParticleSystem.main.simulationSpace)
{
case ParticleSystemSimulationSpace.Local:
matrix =
scaleaMatrix
* Matrix4x4.Rotate (m_ParticleSystem.transform.rotation).inverse
* Matrix4x4.Scale (m_ParticleSystem.transform.lossyScale).inverse;
* Matrix4x4.Rotate (rectTransform.rotation).inverse
* Matrix4x4.Scale (rectTransform.lossyScale).inverse;
break;
case ParticleSystemSimulationSpace.World:
matrix =
scaleaMatrix
* m_ParticleSystem.transform.worldToLocalMatrix;
* rectTransform.worldToLocalMatrix;
Vector3 newPos = rectTransform.position;
Vector3 delta = (newPos - _worldPos);
_worldPos = newPos;
if (canvas.renderMode != RenderMode.WorldSpace && !Mathf.Approximately (scale, 0) && 0 < delta.sqrMagnitude)
{
delta *= (1 - 1 / scale);
int count = m_ParticleSystem.particleCount;
if (s_Particles.Length < count)
{
s_Particles = new ParticleSystem.Particle [s_Particles.Length * 2];
}
m_ParticleSystem.GetParticles (s_Particles);
for (int i = 0; i < count; i++)
{
var p = s_Particles [i];
p.position = p.position + delta;
s_Particles [i] = p;
}
m_ParticleSystem.SetParticles (s_Particles, count);
}
break;
case ParticleSystemSimulationSpace.Custom:
break;

Binary file not shown.

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.0.0",
"version": "2.1.0",
"unity": "2018.2",
"license": "MIT",
"repository": {