Search Unity

Particle Playground

Discussion in 'Assets and Asset Store' started by save, Dec 4, 2013.

  1. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    It is very close! :) I've been involved in a release for a big project lately which is done this week, so we're getting nice things very soon. Please send a PM with your email and I'll make sure you can have it even sooner tho.
     
  2. LunarExGames

    LunarExGames

    Joined:
    Feb 18, 2015
    Posts:
    34
    I've imported the latest version of particle playground and the window does not populate the presets. Is this an issue with the latest Unity update? Love the prefabs but would like to get the asset working as intended. Sent an email to support about this.
     
  3. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    Just tried using PlaygroundTrails to discover that they are not drawn on the same sorting layer/order as the particles :( So I can't use them at all for UI, overlays, etc. Any ways to fix this easily?
     
  4. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    Also, bug report: Some fields in Playground Particles inspector are always several times wider then the available area, causing scrollbars to appear. See attached screenshot.

    Tested on Unity 5.4.3f1, new project with nothing but playground particles on it.

    Screen Shot 2016-11-28 at 11.06.49 PM.png
     
  5. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    As this was solved during the support but not clear why the issue was and was not reproducible I'm not fully happy with the outcome. It's great that it works now, but we got there the wrong way. :) So if this appears again or for anyone else, please let me know and check the Editor log if Unity logs any exceptions during asset import. The scenario:

    1) Using Unity version 5.4.2.
    2) Project with Camera Filter Pack (most likely not causing any interference).
    3) Import Particle Playground version 3.0.3.
    4) Open Window > Particle Playground, where instead of the particle system presets you will see a "The Particle Playground assets couldn't be found in the specified path." warning dialogue.
    5) Null reference exception in the console:
    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. PlaygroundCreatePresetWindowC.Initialize () (at Assets/Particle Playground/Scripts/Editor/PlaygroundCreatePresetWindowC.cs:51)
    3. PlaygroundCreatePresetWindowC.OnEnable () (at Assets/Particle Playground/Scripts/Editor/PlaygroundCreatePresetWindowC.cs:38)
    4. UnityEditor.EditorWindow:GetWindow(Boolean, String)
    5. PlaygroundCreatePresetWindowC:ShowWindow() (at Assets/Particle Playground/Scripts/Editor/PlaygroundCreatePresetWindowC.cs:33)
    6. PlaygroundParticleWindowC:OnGUI() (at Assets/Particle Playground/Scripts/Editor/PlaygroundParticleWindowC.cs:406)
    7. UnityEditor.DockArea:OnGUI()
     
  6. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Sorry about that! This is in the 3.1 update, which is extremely close to being released.
     
  7. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Thank you, I saw that this happened in that version of Unity, not so pretty. I think Unity has updated how certain GUI elements takes up space, and as Playground uses a couple of custom made ones relying on the window width, the calculation for those is way off. I'll make sure this bug gets fixed along with the 3.1 update.
     
  8. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    I figured it out. For anyone who needs it, modify PlaygroundTrails.cs:
    Code (CSharp):
    1. newTrail.trailRenderer.sharedMaterial = material;  // find this line and add the following 3 lines after it, changing desiredSortingOrder and desiredSortingLayer to whatever you wish them to be
    2.  
    3. newTrail.trailRenderer.sortingOrder = desiredSortingOrder;
    4. newTrail.trailRenderer.sortingLayerName = desiredSortingLayer;
    5. newTrail.trailRenderer.gameObject.layer = gameObject.layer;
    6.  
    There is something else that I am struggling with, seemingly simple: I am making a fireworks fx, where a moving particle explodes into stationary sparkles. Death event on the moving particle emits the sparkles particle system. The problem is that all the sparkles are spawned in the same spot, because the target is set to "script" that disables the "source scatter" option. How do I randomly vary the spawn location of particles in the sub-emitter?
     
  9. ikemen_blueD

    ikemen_blueD

    Joined:
    Jan 19, 2013
    Posts:
    312
    @save since Unity 5.5 has improved Shuriken a lot, particles lights, trails, line renderer, etc. Any plans on the Particle Playground, since it's quite a while from the last update?
     
    zhuchun, chelnok and fastgamedev like this.
  10. mb28

    mb28

    Joined:
    Oct 7, 2012
    Posts:
    16
    Been wracking my brain on this one for awhile and searched quite a bit without much luck. Hopefully someone can help me with this super quick. I'm in a predominantly UnityScript project using Unity 5.4.0f3 and ParticlePlayground 3.03. (awesome asset btw, I love it!) Trying to enable/disable particle emit through scripting and I keep getting the following error:

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. particleEnabler.Update () (at Assets/scripts/particleEnabler.js:22)
    Here is the code I'm using. It's UnityScript for this example.

    Code (JavaScript):
    1. #pragma strict
    2. import ParticlePlayground;
    3.  
    4. var control : int = 0;
    5. var particles1 : PlaygroundParticlesC;
    6. var particles2 : PlaygroundParticlesC;
    7. var particles3 : PlaygroundParticlesC;
    8.  
    9. function Start () {
    10.  
    11. }
    12.  
    13. function Update () {
    14.  
    15.     if(OSCRec_control.control[control] != 0){
    16.         particles1.emit = true;
    17.         particles2.emit = true;
    18.         particles3.emit = true;
    19.     }
    20.  
    21.     if(OSCRec_control.control[control] == 0){
    22.         particles1.emit = false;
    23.         particles2.emit = false;
    24.         particles3.emit = false;
    25.  
    26.     }
    27. }
    Now this actually works, I just get a ton of NullReferenceExceptions in the console, but the behavior is correct. Am I calling emit too many times by having this in the Update()? Should this be a separate function call? Any thoughts or help would be greatly appreciated. Thanks in advance too!
     
  11. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    Updating to Unity 5.5 gives a ton of warnings like these:

    Assets/Particle Playground/Scripts/Editor/PlaygroundParticleSystemInspectorC.cs(2732,76): warning CS0618: `UnityEngine.ParticleSystem.simulationSpace' is obsolete: `simulationSpace property is deprecated. Use main.simulationSpace instead.'
     
  12. Ennothan

    Ennothan

    Joined:
    Oct 17, 2013
    Posts:
    47
    What particle playground have that Unity 5.5 doesn't cover?
     
  13. DMCH

    DMCH

    Joined:
    Nov 6, 2012
    Posts:
    82
    Can I ask, with PP, when loading a level is there a way to rapidly instantiate particles up to the particle count, to create a mist in the level?
     
  14. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Testing various particle systems I'm interested to know if PP can achieve to do this




    Also what about performances? I did have a old i7-860 CPU (about a modern i3) and not so newer HD7950Boost GPU, I want to simulate Nx100.000 particles in realtime, will be possible to achieve that?
     
  15. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    382
    Hi

    Any update on when 3.1 will be released?

    cheers

    Nalin
     
  16. Killersan

    Killersan

    Joined:
    May 27, 2014
    Posts:
    76
    Hello guys,

    I got PP3 and I'm wondering if there is a chance for similar sword demo to achieve ?


    Of course I'm talking about particles thing, not shader effects because it's alloy which is relatively easy to reproduce.
    Please let me know if it's possible and is there a chance for such demo in next version.
     
  17. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Hey all,

    Before I answer any of your questions I just want to announce that Particle Playground 3.1 is finally available. I know 2016 has been a year of waiting for many of you, and I want to express my gratitude for the level of humble understanding many of you have shown, even though I barely couldn't deliver anything back to the community during last year. Here is a first step aiming to get Playground back on track and keep up with the great additions made to Shuriken.

    Zero GC allocations during simulation
    The multithreading aggregation has been improved to not allocate fresh memory over calculation calls. This is a performance improvement which benefits all particle system setups on all platforms which has ability to run on several CPUs.

    Unity 5.4 and 5.5 support
    This regards any thrown exceptions and warnings, Editor GUI issues and broken features. Also including support for separate rotation axes (3d rotations), this is only available in Unity 5.5 due to a Unity bug in 5.3 and 5.4 where a particle's 3d rotation wouldn't apply through script on X and Y axis. This is the first step of many to align and then improve upon Shuriken with Unity's recent additions, definitely more to come!

    Preset and Category Manager
    You can now manage particle system presets and their categories in Window > Particle Playground > Presets > "Manage Presets". In here you can create, rename and remove categories as well as select multiple presets to move, remove or publish them. The export issue seen in version 3.0.3 of preset packages is also taken care of.

    Random Seed
    The randomly generated values within a particle system now uses a seed which can be manually set in Advanced > Seed. By default a new seed will be generated when the particle system launches, but if you disable Random Seed On Enable you will get a predictable outcome of the Source Scatter, velocities, rotations and lifetime values.

    Event improvements
    You can now specify the quantity of emitted particles on Event Targets as well as spreading their velocity using spherical or minimum to maximum Vector3 values.

    Playground Trail improvements
    The trails are now making use of a pool to remain more efficient, you can now also set the layer from the Inspector.
    More updates will come in this area to further optimise and improve their functionality. There is a great deal in the backlog at the moment regarding trails which I had to postpone to get this version out, for example point creation smoothing and mesh combining.

    For more please see the version history document.

    As this version was so behind schedule it has been running in an internal beta to allow much quicker iterations, in case you are one of those who signed up for the beta testing crew and wonder why you didn't receive your invitation (you are of course in for the larger future updates).

    Please let me know if you experience any issues with the 3.1 update. Again, thanks for all your patience and understanding, it means a great deal!
     
    C_p_H, chelnok, hopeful and 2 others like this.
  18. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Hi @fastgamedev, sorry about the late response. Currently the fastest way to achieve this effect is to listen to the event from script, where you then have full control of where particles should emit. I'm adding this on the todo though for events in general, I understand it would be quite convenient to have the position with a more random outcome.

    Here is an example how it could be solved currently:

    Code (CSharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using ParticlePlayground;
    4.  
    5. /// <summary>
    6. /// Custom emission upon event from script. Attach this script to the Particle Playground system you wish to emit into.
    7. /// </summary>
    8. [ExecuteInEditMode()]
    9. public class CustomEmitOnEvent : MonoBehaviour {
    10.  
    11.     public PlaygroundParticlesC particleSystemToListenTo;
    12.     public int eventIndex = 0;
    13.     public Vector3 minumOffsetPosition;
    14.     public Vector3 maximumOffsetPosition;
    15.     public Vector3 emitVelocity;
    16.     public Color32 emitColor = Color.white;
    17.  
    18.     private PlaygroundParticlesC _particleSystemToEmitInto;
    19.     private PlaygroundEventC _particleEvent;
    20.  
    21.     private System.Random _random = new System.Random();
    22.  
    23.     void OnEnable ()
    24.     {
    25.         if (particleSystemToListenTo == null)
    26.             return;
    27.         if (_particleSystemToEmitInto == null)
    28.         {
    29.             // Prepare the particle system on this GameObject to receive emission calls
    30.             _particleSystemToEmitInto = GetComponent<PlaygroundParticlesC>();
    31.             _particleSystemToEmitInto.source = SOURCEC.Script;
    32.  
    33.             // Hookup to the event we want to listen to and make sure it is doing what we expect
    34.             _particleEvent = PlaygroundC.GetEvent(eventIndex, particleSystemToListenTo);
    35.             _particleEvent.broadcastType = EVENTBROADCASTC.EventListeners;
    36.         }
    37.  
    38.         // Start listening
    39.         if (_particleSystemToEmitInto != null)
    40.             _particleEvent.particleEvent += OnParticleEvent;
    41.     }
    42.  
    43.     void OnDisable ()
    44.     {
    45.         if (particleSystemToListenTo == null || _particleEvent == null)
    46.             return;
    47.  
    48.         // Stop listening
    49.         _particleEvent.particleEvent -= OnParticleEvent;
    50.     }
    51.  
    52.     void OnParticleEvent (PlaygroundEventParticle eventParticle)
    53.     {
    54.         // Create a random Vector3 within minimum to maximum offset position
    55.         Vector3 randomPositionOffset = PlaygroundParticlesC.RandomVector3(_random, minumOffsetPosition, maximumOffsetPosition);
    56.  
    57.         // Emit into the particle system this script is attached to
    58.         _particleSystemToEmitInto.ThreadSafeEmit (eventParticle.position + randomPositionOffset, emitVelocity, emitColor);
    59.     }
    60. }
    61.  
     
  19. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Hey @ikemen_blueD, we have taken the first step of many with the just released 3.1 update to meet Unity 5.5. Native functionality for particle lights, further improvements of the Playground Trails, 3d sizes and shader data is on the todo-list. Don't forget that you can use the Follow extension component to attach any other GameObjects to your particles (such as the native Unity trails or lights), but it can however require some further scripting depending on what you would like to do.

    They are still widely apart with what you can achieve and how you go about creating a particle system effect. I believe the biggest differences are the source positions from splines, textures and paint, then we have the Manipulator functionality with numerous ways to alter particles depending on their world position. Another thing is the Snapshot functionality to jump or interpolate between particle systems, or the particle recording with time scrub ability.

    The list goes on a bit, however Playground is still missing some key features implemented recently into Shuriken, but that has always been the case since the very beginning of the framework. The vision for Playground has never been to replicate what Shuriken already does, but crucial features to make interesting effects need to be supported of course (such as the lights module and some of the trail functionality). Due to the structure of Playground and if you're into scripting, you can extend a lot of any missing areas quite easily to add any functionality you're missing out on.

    I think Playground has been an influence to the Shuriken updates the past two years, especially from what happened in Unity 5.3 and now with the 5.5 update, this is a really great thing for everyone! We just need to keep pushing the limits and keep going beyond in the future as well, but Playground will still keep its own distinct direction. :)
     
    C_p_H and hopeful like this.
  20. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Yes! There are two ways to go about this, either you create a Snapshot and enable Load From Start or enable Prewarm in Advanced > On Enable.

    Snapshots is good for more static effects, where the particle system will be launched at the state where you took the snapshot and continue from there. Prewarming is taking any unpredictable Manipulators into account, so that would be good to use if you for example have any Manipulators affecting the fog which are starting in unforeseen positions.

    Just as a tip if you're doing fog, try playing with repellent Manipulators to see how it plays out. :)
     
  21. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Yes, very similar effects could be achieved. However probably not performant at that level of particle count with the system you're mentioning. You could potentially achieve alright performance around 15 - 20k per particle system if you split the effect up into several systems. The processor has 4 cores, where Playground would benefit from 3, by those numbers reaching 100k could be difficult with a reasonable framerate. Image effects like these can be somewhat faked though, where you could dissolve a texture with a dissolve shader and not use as many particles as pixels getting dissolved.

    Another option is to look into what Dx11 and GPU accelerated particle systems could do in your case, such as TC Particles where you could simulate even larger quantities (if the 7950 keeps up with it). Try Arthur and what he thinks of your requirements!
     
    davide445 likes this.
  22. LaneMax

    LaneMax

    Joined:
    Aug 12, 2013
    Posts:
    181
    hey save,

    Don't know if this is because I'm using Unity 5.6.0b3, but I'm getting some weird text on anything that's Particle Playground related. One other weird part is, if I re-import from that asset store it looks fine, but when I re-open the project the text is messed up again. Any thoughts?

    Example:
    Screen.png
     
  23. LaneMax

    LaneMax

    Joined:
    Aug 12, 2013
    Posts:
    181
    Never mind found the problem, reading back I found the answer, It was just resetting the scriptableobject Playground Settings seemed to fix it. =)
     
  24. save

    save

    Joined:
    Nov 21, 2008
    Posts:
    744
    Hey @LaneMax! Great that you managed to get it going. This is a really abnormal issue, we're in the hands of Unity import and how serialisation is handled (at least that is my understanding). However this needs to be fixed somehow, either by workaround or in a future Unity version, I'll talk to them to see what can be done.
     
  25. Lars-Steenhoff

    Lars-Steenhoff

    Joined:
    Aug 7, 2007
    Posts:
    2,151
    OSX Sierra, Unity 5.5 p4. I get a couple of errors when I import the package

    Assets/Particle Playground/Extensions/Playground Splines/Editor/PlaygroundSplineInspector.cs(424,69): error CS0117: `PivotRotation' does not contain a definition for `Local'

    Assets/Particle Playground/Scripts/Editor/PlaygroundInspectorC.cs(128,168): error CS0117: `PivotRotation' does not contain a definition for `Global'

    Assets/Particle Playground/Scripts/Editor/PlaygroundParticleSystemInspectorC.cs(3632,165): error CS0117: `PivotRotation' does not contain a definition for `Global'

    Assets/Particle Playground/Scripts/Editor/PlaygroundParticleSystemInspectorC.cs(3672,214): error CS0117: `PivotRotation' does not contain a definition for `Global'


    Any Idea how I can fix them?

    Thanks
     
  26. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    Bug Report:

    (PP v3.1) - Instances of playground particle prefabs do not serialize source transforms.

    Steps:
    1. Create a playground particle system (PPS) with source set to transform.
    2. Create a gameobject A and set it as the source transform in the PPS.
    3. Create prefab of the PPS.
    4. Instantiate PPS.
    5. Set the source transform of the instantiated PPS to gameobject A.
    6. Play the game. Stop the game.

    Expected Result:
    7. The source transform of the instantiated PPS is set to gameobject A.

    Actual Result:
    7. The source transform of the instantiated PPS is set to null.

    Also, same behavior when saving and quitting the editor. Upon relaunch of the editor, the source transform reverts to null.
     
  27. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Using PP will be possible to fragment/dissolve an object? Want to stay simple and didn't use custom shaders.
     
  28. echuang98

    echuang98

    Joined:
    Oct 21, 2015
    Posts:
    17
    Hello!
    I want to add multiple gameObjects' Transform to a PlaygroundParticlesC's sourceTransforms (which is a List<PlaygroundTransformC>) via script.
    I didn't find an example explaining how to do this. And I tried to script myself. My script below seems to work. But I still want to ask if it is the right way to achieve what I want to do.
    It would be great if you could shed some light on this. Thank you!
    Code (CSharp):
    1.  public void AddLineTrans(Transform _lineTrans)
    2.     {
    3.         PlaygroundTransformC transC = new PlaygroundTransformC();
    4.         transC.transform = _lineTrans;
    5.         pSys.sourceTransforms.Add(transC);
    6.     }
     
  29. fastgamedev

    fastgamedev

    Joined:
    Mar 27, 2014
    Posts:
    91
    Hi @save

    When using spline as a target, an equal proportion of total particles go between each segment of the spline. When one segment is short and another is long, this results in dense particles in the first segment, and sparse in the second. Is there a way to set the number of particles in each spline segment by segment length?

    Thank you.
     
    echuang98 likes this.
  30. jengygomez

    jengygomez

    Joined:
    Jun 11, 2015
    Posts:
    1
    Hi @save !

    I'm trying to reduce the number of particles that I have in my system. I am using a mesh as a source.When I reduce the particle count, my particles all go to (what I assume is) the first few verts on the mesh (for example, off to one side).

    What can I do to get the particles to be lower in count, but spread over an entire mesh, and spawn from random emitters (sources/verts) on the mesh?
     
    Last edited: Feb 21, 2017
  31. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    311
    Hi @save

    What's the best way to trigger a particle event... currently I'm using on Trigger Enter &
    a co-routine so it plays out fully. ( am I missing some fundamental feature of PP )

    my script looks something like the following


    excuse my ignorance.. I was hoping for a tutorial that walks newbies through the basics. eg. Creating a particle system is easy enough as there's a few out of the box samples but is there a way to instantiate it on trigger enter ( I thought maybe there's a built in event to start and stop PP efffects )
     
    Last edited: Feb 26, 2017
  32. hallidev

    hallidev

    Joined:
    Jan 21, 2017
    Posts:
    14
    Hi @save,

    First, thanks for such a great product. It's a pleasure to work with!

    Question: When a particle system is in Script mode and Emit is called such that particles still in motion are recycled, is there any way to completely reset them? It's hard to tell exactly what's going on in my setup, but particles appear to pop in where they were originally born with the same properties (velocity, size, etc.) they had when they got snatched up and re-emitted. I tried to take the particle ID from the Emit call and manually reset the particle from the playgroundCache to no avail.

    For a little more detail on what I'm trying to do:

    Code (CSharp):
    1.     private void onParticleDeath(PlaygroundEventParticle particle)
    2.     {
    3.         // Set properties on newly emitted particle
    4.         int emittedParticleId = DeathParticleSystem.Emit(particle.position, Vector3.zero, particle.color);
    5.         DeathParticleSystem.ParticleSize(emittedParticleId, particle.size);
    6.     }
    Essentially there are 3 particle systems involved. Two particle systems are emitting and have this script attached. When a particle from either of these systems die, a new particle is emitted from the DeathParticleSystem (shared between the first two) and hangs in the air wherever the particle death occurred. The DeathParticleSystem has very long lived particles. This works just fine until the 2 source particle systems emit more particles than the DeathParticleSystem has. This is when the odd recycling behavior seems to occur. I don't mind if particles are recycled and pop out of the DeathParticleSystem - the problem is that they don't pop back in at the location specified onParticleDeath. I hope this makes sense. Turns out it was hard to explain!
     
  33. Banksy

    Banksy

    Joined:
    Mar 31, 2013
    Posts:
    311
    newbie needing some help here.... ( 5 days no support )
     
  34. chelnok

    chelnok

    Joined:
    Jul 2, 2012
    Posts:
    673
    Not the developer, but just to remind there is quite nice set of tutorials at his youtube channel:


    and documentation is really good too: http://www.polyfied.com/products/Particle-Playground-3-Next-Manual.pdf
    plus some other resources: http://polyfied.com/products/particle-playground/playground-resources/

    However, if you just need some script examples, check out examples/example scripts/simple scripts folder

    edit: you can find example scripts also from FAQ: http://polyfied.com/products/particle-playground/playground-resources/faq/ (how to emit from script etc)
     
  35. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,930
    Don't count on getting any developer to respond to posts in the forum. If you need support, esp. if you need critical support, contact the developer via their support email.
     
    chelnok likes this.
  36. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Again will be possible achieving this kind of effects trough custom shaders or high particle count.

    I want to transform Unity (also) into a VFX tool and choosing the right particle system is fundamental.
     
  37. Mulegames

    Mulegames

    Joined:
    Sep 27, 2016
    Posts:
    10
    Hello -
    Our lab just bought your product and I'm getting the following when opening the PP window. Tried re-importing the asset with no success. Any ideas how to fix this?
     

    Attached Files:

  38. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,930
    Set serialization under Edit > Project Settings > Editor to "Mixed," delete the old version from the project, and re-import?

    Not sure if that will do it, but it is what I would try.
     
  39. zhuchun

    zhuchun

    Joined:
    Aug 11, 2012
    Posts:
    386
    That's possible, but FPS is limiting your power. In Unity, if you're making a 60fps game, that means your render progress must be done within 16ms, software like AE doesn't have these kinds of problem, they can use one hour to render a frame, so they can handle heavy stuff very well. A common workflow is to use them both, AE renders animation sheets and Unity handles the rest. TBH, PP is good enough for everyone.
     
  40. Lasse-Loepfe

    Lasse-Loepfe

    Joined:
    Mar 28, 2014
    Posts:
    25
    Hi,
    I'm using PP with it's splines to for kind of a laser ray coming out of a magic wand, using Only Source Positions.
    When I move the wand quickly, the particles smoothly move to the new position. But this is not the desired behaviour in my case. Is it possible to update the particle positions without any lag/smoothing?

    Best
    Lasse
     
  41. Exbleative

    Exbleative

    Joined:
    Jan 26, 2014
    Posts:
    201
    *edit - my bad, projector particle count seems based on projector texture size, not verts on collision

    Is there a way to use projected particles in a similar way to brushes, where you can emit a particle at every Nth vertex position? I'm trying to project onto terrain, but if I don't use the exact number of verts from the terrain (say, half), then the projected texture is also cut in half. Would be great to be able to just project 1000 particles in a projected brush onto an object with more verts, and retain its shape, and of course not take a hit of trying to use 65000 particles. Can't use the brush/painting in real-time (or even in editor it seems, it hangs pretty badly) unfortunately!
     
    Last edited: Mar 22, 2017
  42. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,484
    I am interested with skinned mesh or procedural generated (and vertex animated) mesh as emit source.
    I was especially wondering about their performance hit.

    How does the particle playground work on this? Does tool gets bakedmesh from skinedmesh per update and use that as if it was a static mesh? Also when you say the mesh can be animated do you mean modifying the mesh data itself? Or actual drawing point from the shader after any vertex shader animation?
     
  43. eco_bach

    eco_bach

    Joined:
    Jul 8, 2013
    Posts:
    1,357
    So I have a simple mesh particle effect that plays once or loops(if loop enabled) when I first enter game mode or run my Scene. It is composed of a Playground Manager and 2 particle Playground System child objects, each with PlaygroundParticlesC Class attached.

    However, this is NOT what I want. I want to simply be able to trigger the start of the effect via code.
    isn't there a simp,e 'Play()' method somewhere?? Or do I have to instantiate the Playground manager each time?
     
  44. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,105
    I might be doing something wrong ... but ... I'm getting 208 bytes allocations almost every frame. More precisely, I'm getting 208 bytes every frame most of the time but there are also phases with only 104, and some phases with 0. This happens in PlaygroundC.LateUpdate(). When it's 208 bytes, ParticleSystem.Update2 also shows up in the profiler, but with 0 allocations, and also WaitForJobGroup (also zero allocations).

    This is on Unity 5.5.2p4, settings (sorry for the resolution, that's what I get for having a 4K monitor :-/ ):

    ParticlePlaygroundSettings.PNG

    EDIT: Just did a Deep Profiling session, and this is coming from: PlaygroundC.ThreadAggregator()
     
    Last edited: Apr 7, 2017
  45. SVC-Games

    SVC-Games

    Joined:
    May 21, 2013
    Posts:
    106
    Is there a new version coming to solve the compatibility issues with unity 5.6? I'm getting around 20 warnings from Particle Playground every time I compile
     
  46. chelnok

    chelnok

    Joined:
    Jul 2, 2012
    Posts:
    673
    @SVC-Games any change to post the warnings? I was gonna use PP in my current project, but i've been using just some placeholder fxs and haven't even start to implement the PP yet.
     
  47. SVC-Games

    SVC-Games

    Joined:
    May 21, 2013
    Posts:
    106
    No changes, it seems to be things related to editor scripts included in Particle Playground. Unity 5.6 changes some gizmos and I believe that's the problem. Everything works ok, but 20 warnings are kinda annoying...
     
    chelnok likes this.
  48. chelnok

    chelnok

    Joined:
    Jul 2, 2012
    Posts:
    673
    typo: any change -> any chance (to post the warnings)

    Ok, i was worried if there was some issues with performance; that is the main reason i would use PP instead using just Unity's particle system.
     
  49. SVC-Games

    SVC-Games

    Joined:
    May 21, 2013
    Posts:
    106
    Don't worry, it seems to be more of a compliance problem than performance. As I said, most of the warnings are because the use of deprecated visual handles for use in the scene editor. For now it's not a problem but in future versions of unity it might be if those deprecated functions finally disappear...
     
    chelnok likes this.
  50. SticklandPWorm

    SticklandPWorm

    Joined:
    Apr 20, 2017
    Posts:
    11
    Hiya

    I need to emit particles from a skinned mesh source but I need to be able to mask parts of the mesh using a texture. Is there a way to script this?

    Thanks
     
    DaDarkDragon likes this.