Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

CoherentNoise procedural generation library - RELEASED

Discussion in 'Assets and Asset Store' started by Nevermind, Jun 3, 2011.

  1. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    CoherentNoise is a comprehensive library for noise generation. It's inspired by libNoise C++ library.
    CoherentNoise allows to generate just about any noise function you ever heard about, including Perlin noise, multifractal noise and Voronoi diagrams. Noise functions can be modified and combined in an intuitive way, allowing for literally countless combinations. There are more than 30 different generators to create, modify and combine noise, and all of them are easily extensible in case you need something very special.
    Noise can be used to programmatically create textures, terrain heightmaps, game levels and, well, just about anything.

    Check out this demo: http://chaoscultgames.com/products/CN/demo.html. It uses CoherentNoise to generate terrain on the fly, so that it never ends and never repeats.

    A manual is also available for download at http://chaoscultgames.com/products/CN/CoherentNoiseManual.pdf.

    CoherentNoise is available in AssetStore for free. Check it out now!
    It's also an open-source product now. Source files can be found in SVN repository on Assembla
     
    Last edited: Sep 15, 2011
  2. kerters

    kerters

    Joined:
    May 13, 2011
    Posts:
    164
    Thats great, exactly what i needed ! =)
     
  3. unity3dx

    unity3dx

    Joined:
    Apr 15, 2011
    Posts:
    175
    Very interesting, but you should make an editor and a plug and play system like Filter Forge. That would awesome! Or try to convert Filter Forge presets?
     
  4. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    I might do just that, yes. That would be not only awesome, but more expensive too (-8
     
  5. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    No one bought the library for $50. So I've decided to make it free, and open-source to boot!

    Check it out, it no longer costs you anything.
     
  6. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    The price still seems to be $50 in the asset store. Anyway, I don't usually mind paying $10-30 for assets/scripts/extensions but higher price than that is usually the limit for me. This is because I am just a hobbyist and I don't make any money with Unity.
     
  7. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Strangely, the price indeed has not changed, although the package manager shows it as "Free". I've contacted Unity with this, hopefully they'll fix the price soon.

    Meanwhile, you can get all the scripts from SVN.
     
  8. mk1978

    mk1978

    Joined:
    Dec 27, 2009
    Posts:
    276
    I am not sure if I understand what can be done with this. I would like to create randomness (for example Perlin noise) to my grass textures in my game. Would this be possible with this CoherentNoise library?
     
  9. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Yes, but probably not in real-time. I.e. you can generate a number of different grass textures and then use them on your terrain or whatever.
     
  10. Rush-Rage-Games

    Rush-Rage-Games

    Joined:
    Sep 9, 2010
    Posts:
    1,997
    So is there any way to convert this back to Unity 2.6? (The reason I'm using 2.6 is that it messes up all of the shaders and levels when I upgrade to Unity 3)

    Thanks!
     
  11. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    I never tested with 2.6, but I see no reason for the library not to work. It hardly uses anything Unity-specific.
     
  12. Ted-Chirvasiu

    Ted-Chirvasiu

    Joined:
    Sep 7, 2010
    Posts:
    381
    This is absolutely amazing!Can it be used even if the user is gonna sell his game (that uses CoherentNoise) ?
     
  13. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Yes, you can use it however you like. I'm not sure what exact license is for Asset Store free packages, but I am pretty sure they can be used in commercial games freely. I certainly don't have any objections, use it by all means!
     
  14. Ted-Chirvasiu

    Ted-Chirvasiu

    Joined:
    Sep 7, 2010
    Posts:
    381
    Awesome!You're great!
     
  15. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Cool! It would be great to have a previewer-tweaker in package to be able to tweak settings in runtime.
     
  16. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Here it is: routine for realtime changes of RidgeNoise parameters. Though, still no luck with terrain tweaking: i would like to have plain territory with sevaral mountains. If anybody has settings for it - you're wellcome to share. I guess, i should scale its ox-oy axis's

    Now i got something like this:


    Code (csharp):
    1. using UnityEngine;
    2. using CoherentNoise;
    3. using CoherentNoise.Generation;
    4. using CoherentNoise.Generation.Displacement;
    5. using CoherentNoise.Generation.Fractal;
    6. using CoherentNoise.Generation.Modification;
    7. using CoherentNoise.Generation.Patterns;
    8. using CoherentNoise.Texturing;
    9.  
    10. public class NoiseTest : MonoBehaviour
    11. {
    12.     private ParticleSystem.Particle[] points;
    13.     private int count = 0;
    14.    
    15.     float _freq = 1;
    16.     float _lac = 1.2f;
    17.     float _oct = 4;
    18.    
    19.     float _exp = 1;
    20.     float _off = 1;
    21.     float _gain = 2;
    22.    
    23.     float _mul = 0.6f;
    24.    
    25.     // Use this for initialization
    26.     private void Awake()
    27.     {
    28.         Debug.Log("Starting particles");
    29.         points = new ParticleSystem.Particle[64*64];
    30.        
    31.         Rebuild();
    32.     }
    33.    
    34.     private void Rebuild()
    35.     {
    36.         var desert = //new Gain(
    37.    //         new ValueNoise2D(23456) * 0.6f, 0.1f);
    38.             new RidgeNoise(23478568)
    39.                 {
    40.                     Frequency = _freq, // 1
    41.                     Lacunarity = _lac, // 2.17
    42.                     OctaveCount = (int)_oct, // 4
    43.            
    44.                     Exponent = _exp, // 1
    45.                     Offset = _off, // 1
    46.                     Gain = _gain // 2
    47.                    
    48.                 } * _mul ; //, 0.3f);
    49.        
    50.        
    51.         var terrainGenerator = desert.ScaleShift(0.5f, 0.5f);
    52.        
    53.         count = 0;
    54.         for (int x = -31; x < 32; x++)
    55.         {
    56.             for (int y = -31; y < 32; y++)
    57.             {  
    58.                 int z = 0;
    59.  
    60.                 float groundHeight = terrainGenerator.GetValue(x, y, 0);
    61.                
    62.                 points[count].position = new Vector3(x, groundHeight, y);
    63.                 points[count].color = new Color(0f, 0f, 0f);
    64.                 points[count].size = 1f;
    65.            
    66.                 count++;
    67.             }
    68.         }
    69.     }
    70.    
    71.     void OnGUI ()
    72.     {
    73.         GUI.Label(new Rect(10,0,150,50), "Freq : " + _freq);
    74.         _freq = GUI.HorizontalScrollbar(new Rect(120, 0, 100, 20), _freq, 0.1f, 0.0f, 5.0f);
    75.        
    76.         GUI.Label(new Rect(10,40,150,50), "Lac : " + _lac);
    77.         _lac = GUI.HorizontalScrollbar(new Rect(120, 40, 100, 20), _lac, 0.1f, 0.0f, 5.0f);
    78.        
    79.         GUI.Label(new Rect(10,80,150,50), "Oct (int) : " + _oct);
    80.         _oct = GUI.HorizontalScrollbar(new Rect(120, 80, 100, 20), _oct, 0.1f, 2.0f, 12.0f);
    81.        
    82.        
    83.         GUI.Label(new Rect(10,140,150,50), "Exp : " + _exp);
    84.         _exp = GUI.HorizontalScrollbar(new Rect(120, 140, 100, 20), _exp, 0.1f, 0.0f, 5.0f);
    85.        
    86.         GUI.Label(new Rect(10,180,150,50), "Offset : " + _off);
    87.         _off = GUI.HorizontalScrollbar(new Rect(120, 180, 100, 20), _off, 0.1f, 0.0f, 5.0f);
    88.        
    89.         GUI.Label(new Rect(10,220,150,50), "Gain : " + _gain);
    90.         _gain = GUI.HorizontalScrollbar(new Rect(120, 220, 100, 20), _gain, 0.1f, 0.0f, 5.0f);
    91.        
    92.        
    93.         GUI.Label(new Rect(10,260,150,50), "Multiplier : " + _mul);
    94.         _mul = GUI.HorizontalScrollbar(new Rect(120, 260, 100, 20), _mul, 0.1f, 0.0f, 5.0f);
    95.        
    96.        
    97.         if (GUI.Button(new Rect(50, 300, 100, 50), "Rebuild"))
    98.             Rebuild();
    99.     }
    100.    
    101.     private void Update()
    102.     {
    103.         particleSystem.SetParticles(points, points.Length);      
    104.     }
    105. }
     
    Last edited: Jul 29, 2012
  17. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
  18. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125


    Nice settings for BillowNoise.
     
  19. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125


    Even better settings for BillowNoise.
    Sorry for double-triple-quadro-posting, but i hope this info can be usefull.
     
  20. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    VeTal, You should download the Terrain Toolkit from the asset store (it's free) and look at some of their presets; it uses similar noise functions to Coherent Noise. Also, for best results, you should combine noise generators; you can do like a voronoi one to get big mountain peaks and then multiply with PinkNoise over it to get small hills and smooth out the jagged parts of the terrain.
     
  21. VeTaL

    VeTaL

    Joined:
    Jul 2, 2012
    Posts:
    125
    Yeah, thanks, i'll take a look.
     
  22. tobobox

    tobobox

    Joined:
    Jul 7, 2012
    Posts:
    25
    I'm a bit new to 3D noise. This package seems amazing but I'm have a bit of trouble.

    I'm trying to create a 3D flow field. For this I need to create a vector for every point within a 3d grid. I created the following but it ends up looking the same as randomly generated vectors:

    Code (csharp):
    1.  
    2.         var noiseX = new CoherentNoise.Generation.ValueNoise(Random.Range(0,10000));
    3.         var noiseY = new CoherentNoise.Generation.ValueNoise(Random.Range(0,10000));
    4.         var noiseZ = new CoherentNoise.Generation.ValueNoise(Random.Range(0,10000));
    5.         forces = new Vector3[(int)resolution.x,(int)resolution.y,(int)resolution.z];
    6.         for(int x=0; x<resolution.x; x++){
    7.             for(int y=0; y<resolution.y; y++){
    8.                 for(int z=0; z<resolution.z; z++){
    9.                     forces[x,y,z] = new Vector3(noiseX.GetValue(x,y,z),noiseY.GetValue(x,y,z),noiseZ.GetValue(x,y,z));
    10.                 }
    11.             }
    12.         }
    13.  
    So then to simplify things I tried the following and this time every vector created was identicle:

    Code (csharp):
    1.  
    2.         var noise = new CoherentNoise.Generation.ValueNoise(10000);
    3.         forces = new Vector3[(int)resolution.x,(int)resolution.y,(int)resolution.z];
    4.         for(int x=0; x<resolution.x; x++){
    5.             for(int y=0; y<resolution.y; y++){
    6.                 for(int z=0; z<resolution.z; z++){
    7.                     forces[x,y,z] = new Vector3(noise.GetValue(x,y,z),noise.GetValue(x,y,z),noise.GetValue(x,y,z));
    8.                 }
    9.             }
    10.         }
    11.  
    I'm sure I'm understanding the use of the noise function wrong (I did read the whole pdf though). Can you give me some direction or provide an example of how to load up a 2D or even better yet a 3D array with the noise values?
     
  23. ZoomDomain

    ZoomDomain

    Joined:
    Aug 30, 2012
    Posts:
    150
    DUDE ! you are an absolute genius for posting that last question!

    Using your example I managed to get this function generating some pink noise from JavaScript:
    Code (csharp):
    1.          function  simplex2 (a: float, b: float,c: float ): float
    2.          {
    3.  
    4.      var n = new CoherentNoise.Generation.Fractal.PinkNoise(213321);
    5.      
    6.        var k =  n.GetValue(a,b,c);
    7.  
    8.  
    9.          return k;
    10.         }  
    11.  
    it makes the mountains in 3d for x,z values. That said, I am getting a frame rate of 3 or 8!, when using a different noise script gives me 60. EDIT- sorry guys, my mistake PinkNoise goes at 3 FPS and value noise goes at 65!

    Thank you Nevermind

    also, check this code if you're still having trouble- I think it is 3d simplex. It does 60 frames per 2nd for a single function, and for reference, the unity built in Perlin function is at least 4 times faster even then this code:
    http://answers.unity3d.com/question...mplex-noise-script-working.html#answer-431743
     
    Last edited: Apr 5, 2013
  24. ZoomDomain

    ZoomDomain

    Joined:
    Aug 30, 2012
    Posts:
    150
    I wonder if it would be possible to calculate the functions from this using a different thread from the unity one? it's very cool I am just checking out the fastest functions right now. you can always put a donate comment at the top of your code if you are not sure how to sell it!
     
  25. weltraumaffe

    weltraumaffe

    Joined:
    Nov 13, 2012
    Posts:
    4
    Hi,

    awesome piece of software. Thanks :)

    Has anybody any idea how i could generate seamless textures (for random planet generation).

    Any pointers would be greatly appreciated.
     
  26. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Seamless textures are hard (-8
    Look at ValueNoise and GradientNoise generators: they have a property called Period. The idea behind it is, when you generate a texture using noise with Period=5 for example, and you sample this noise in 5x5 region, the resulting texture should be seamless - because noise is periodic.

    However, this only works with ValueNoise and GradientNoise, not with fractal noises (because fractals have non-integer frequency and also rotation...).

    I've had some success with generation seamless textures by spelling out fractal noise explicitly, like this:
    Code (csharp):
    1.  
    2. var vnoise1 = new ValueNoise(348765){ Period=16 };
    3. var vnoise2 = new ValueNoise(547345){ Period=16 };
    4. var vnoise3 = new ValueNoise(453647){ Period=16 };
    5.  
    6. var fractal = vnoise1+0.5f*vnoise2.Scale(2,2,2)+0.25f*vnoise3.Scale(4,4,4);
    7.  
     
  27. jerichaosymphony

    jerichaosymphony

    Joined:
    May 26, 2013
    Posts:
    6
    I can confirm that this works with multicore. Is it possible to distribute this in an asset to release for marching cubes with big credits to yourself and your website? Could you get in touch with me by private message or by e-mail?
     
  28. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Yes, you can distribute it in an asset. Well, unless said asset has nothing BUT CoherentNoise lib and costs money - in that case, I'd be disappointed (-8
     
  29. jaybennett

    jaybennett

    Joined:
    Jul 10, 2012
    Posts:
    165
    hey Nevermind! I tried your library today, its great!

    I'm trying to generate a colored bitmap to represent my game world at the macro scale so this is a 1024x1024 texture. I have 5 different biomes so I used a ramp texture to define them and here is the output:



    This is exactly what I need!

    However, the idea is for me to have an endless world (at least on the server). Thats why I'm here, because I'm wondering how I can generate the x+1 or y+1 offset of this texture? I imagine my player will only see the map at 32x32 perhaps, but I want to be able to handle very large distances without repetition.

    In other words, if this square is region 0,0 I want to continue using the same noise function to generate any region x, y.
     
    Last edited: Jun 2, 2013
  30. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    The TextureMaker class only samples noise in [0;1]x[0;1] region, but it does not have to. You can use two approaches to generate more textures from the same generator:
    (a) write a method analogous to TextureMaker.Make that takes source coordinates and samples noise where required, or
    (b) use Translate transform on the generator you feed into TextureMaker to "move" noise so that new region is now in [0;1]x[0;1].
     
  31. KyleStaves

    KyleStaves

    Joined:
    Nov 4, 2009
    Posts:
    821
    I was not a smart man and misread the first page (missed the repo link). Ignore this post.
     
  32. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    The library was removed from Asset Store today because store admins "suddenly" noticed that it's inspired by a GPL library. CoherentNoise does not, in fact, use any GPL code, and I hope this consfusion will be resolved soon.
    Meanwhile, you can download all code from repository at Assembla (https://www.assembla.com/spaces/show/coherentnoise)
     
  33. DavidMann

    DavidMann

    Joined:
    Aug 16, 2012
    Posts:
    3
    Hey, I just wanted to say thanks for the package. I hope you can get it back up on the asset store because it's a great resource.

    I was able to wire it up to some procedurally generated geometric shapes in about 30 mins. Let me ask though if what I'm doing makes sense:
    Basically I get a the list of vertices, measured as Vector3 from the center of the shape. Then multiply each vertex (magnitude) by the result of a 3d fractal call. It seemed all too easy.
     
  34. PhobicGunner

    PhobicGunner

    Joined:
    Jun 28, 2011
    Posts:
    1,813
    In the future might want to make this easier to find from your website. Include a "Products" page or something, because it was very difficult to find (due to the asset getting taken down). Might be good to also provide a ZIP download or something ;)
     
  35. Chuckalicious

    Chuckalicious

    Joined:
    Jul 28, 2012
    Posts:
    51
    Is this thread still live?

    Nevermind, I just got your code off assemble. The project built and compiled fine. I imported the dll into my Unity 'sandbox project' and wanted to run a quick test. I took a line from ZoomDomain (above) and can see PinkNoise...

    var n = new CoherentNoise.Generation.Fractal.PinkNoise(213321);

    ...is returning an object. I'm not sure how to apply the values though. Is there an example that will show how to apply the values returned to any object using the GetValue call? Sorry if I'm vague...just learning Unity (and gaming concepts in general). Please let me know if you need more detail.

    BTW...Reading your code files in this project has taught me more in 30 minutes than the last few days of web research. Thank you for that! There really are some great articles out there but man does it help. I also read your manual http://chaoscultgames.com/products/CN/CoherentNoiseManual.pdf another great read! Still, just need a little guidance. Anyone?
     
  36. PhobicGunner

    PhobicGunner

    Joined:
    Jun 28, 2011
    Posts:
    1,813
    AFAIK you just use:

    Code (csharp):
    1.  
    2. Generator n = new PinkNoise( 213321 );
    3.  
    And then to get a noise value at a given coordinate:

    Code (csharp):
    1.  
    2. float value = n.GetValue( x, y, z );
    3.  
    I believe this is a value from -1 to 1, I'm not sure.
     
  37. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    Yes, PhobicGunner is correct.
     
  38. Chuckalicious

    Chuckalicious

    Joined:
    Jul 28, 2012
    Posts:
    51
    Thanks PhobicGunner. I understand this. I can see that from what Zoom did (above) with
    var k = n.GetValue(a,b,c);
    ..my question was how is the 'value' applied to objects in the game? How is the final result applied?

    This is working with terrain (code from wiki with my tweak using Neverminds library). I was hoping to see how I can apply the value to other object types.

    using UnityEditor;
    using UnityEngine;
    using System.Collections;
    using CoherentNoise;

    /* Resources
    *
    * http://webstaff.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf
    * http://chaoscultgames.com/products/CN/CoherentNoiseManual.pdf manual for the unity3d perlin addon
    */
    public class TerrainPerlinNoise : ScriptableWizard {

    public float Tiling = 10.0f;

    [MenuItem("Terrain/Generate from Perlin Noise")]
    public static void CreateWizard(MenuCommand command)
    {
    ScriptableWizard.DisplayWizard("Perlin Noise Generation Wizard", typeof(TerrainPerlinNoise));
    }

    void OnWizardUpdate()
    {
    helpString = "This small generation tool allows you to generate perlin noise for your terrain.";
    }

    void OnWizardCreate()
    {
    GameObject obj = Selection.activeGameObject;

    if (obj.GetComponent<Terrain>())
    {
    GenerateHeights(obj.GetComponent<Terrain>(), Tiling);
    }
    }

    public void GenerateHeights(Terrain terrain, float tileSize)
    {
    var n = new CoherentNoise.Generation.Fractal.PinkNoise(213321);

    float[,] heights = new float[terrain.terrainData.heightmapWidth, terrain.terrainData.heightmapHeight];

    for (int i = 0; i < terrain.terrainData.heightmapWidth; i++)
    {
    for (int k = 0; k < terrain.terrainData.heightmapHeight; k++)
    {
    var x = n.GetValue(((float)i / (float)terrain.terrainData.heightmapWidth) * tileSize, ((float)k / (float)terrain.terrainData.heightmapHeight) * tileSize, 0);
    heights[i, k] = x/5.0f;
    }
    }

    terrain.terrainData.SetHeights(0,0, heights);
    }
    }
     
    Last edited: Oct 27, 2013
  39. Dorque

    Dorque

    Joined:
    Jul 19, 2012
    Posts:
    16
    Your site doesn't appear to be working, do you have an alternative download location for your pdf?
     
  40. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    There's no alternative location (that I know of). I fixed the site, though (-8
     
  41. chisser98

    chisser98

    Joined:
    Nov 18, 2013
    Posts:
    3
    Hey there Nevermind!

    I was just browsing the internet for a good Noise library, and I stumbled upon this thread. I know you mentioned that people could use your code freely, but I was wondering, is there a specific license for your code (like MIT or something?). I didn't see one when I was browsing through your source code.

    Also...how would you feel about me possibly converting your code to C++? And maybe putting it up on Github or something? (if I did that, I would hope to put it up under a solid OSS license...which is part of the reason I asked above :))

    Cheers

    Jarrett
     
  42. chisser98

    chisser98

    Joined:
    Nov 18, 2013
    Posts:
    3
    Hey there Nevermind!

    I was just browsing the internet for a good Noise library, and I stumbled upon this thread. I know you mentioned that people could use your code freely, but I was wondering, is there a specific license for your code (like MIT or something?). I didn't see one when I was browsing through your source code.

    Also...how would you feel about me possibly converting your code to C++? And maybe putting it up on Github or something? (if I did that, I would hope to put it up under a solid OSS license...which is part of the reason I asked above :))

    Cheers

    Jarrett
     
  43. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
    I did not specify any license, b/c this was on Asset Store, which seems to be using Creative Commons for free assets. So, consider CoherentNoise be licensed under CC.

    I don't have any problem with that. I don't see any need though, because there's libnoise out there, which is already quite similar to CoherentNoise. It's open-source, licensed under LGPL IIRC.
     
  44. chisser98

    chisser98

    Joined:
    Nov 18, 2013
    Posts:
    3
    Yes, I think you're right about libnoise. I'm not really a big fan of the LGPL though, and so I am searching for a library under a more liberal license.

    I found a couple other libraries (Accidental Noise Library and noise++) which look like they might be good alternatives to libnoise.

    Thanks for your permission Nevermind, if I end up going that route I will let you know :)

    Cheers

    Jarrett
     
  45. Lasent

    Lasent

    Joined:
    Dec 27, 2013
    Posts:
    27
    Hi, could you upload it to the Asset Store again, or somewhere else, as it seems to be down, and could help a lot with my project?
     
  46. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66
  47. Lasent

    Lasent

    Joined:
    Dec 27, 2013
    Posts:
    27
    Thank you for the quick response, hope i can put these noises to good use :D
     
  48. Chuckalicious

    Chuckalicious

    Joined:
    Jul 28, 2012
    Posts:
    51
    I added this code to a particle system game object in a small test project but I don't get anything like you see here. All I get is a flashing particle in the center of my screen. Am i missing something in the set up? I can see values for 'groundHeight' in the 'Rebuild' method but these don't have the same effect on the particle system that you seem to have. I also set my max particles to 5000. Any advice?

    [Edit] Never mind. I just disabled loop and play on start. Works awesome. Thanks for this.
     
    Last edited: Nov 26, 2014
  49. keenanwoodall

    keenanwoodall

    Joined:
    May 30, 2014
    Posts:
    597
    I cannot find the download anywhere!
     
  50. Nevermind

    Nevermind

    Joined:
    Jun 10, 2010
    Posts:
    66