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

Voxeland - Voxel Terrain Tool

Discussion in 'Assets and Asset Store' started by Wright, Jun 25, 2013.

  1. Gunsrequiem

    Gunsrequiem

    Joined:
    May 17, 2017
    Posts:
    71
    Thank you!

    I'm still trying to get biomes to work in Voxeland, to no avail. For now, I'll try to get them to work in MM, then go back and try my hand again at the Voxeland terrains. Hopefully we can get a tutorial on this at some point.
     
  2. Kappytn

    Kappytn

    Joined:
    May 22, 2017
    Posts:
    8
    For me this doesn't seem to do a thing.
     
  3. MarkusGod

    MarkusGod

    Joined:
    Jan 10, 2017
    Posts:
    168
    Did you rebuild terrain after setting parameters? And it will be cool if you post images of what you do not like.
     
  4. chiefarchon

    chiefarchon

    Joined:
    Jun 22, 2009
    Posts:
    80
    I need the ability for people to mine within the dungeons thus allowing the user to reshape the dungeon whilst mining for ores etc. I dont know of any endless dongeon programs that allow that. I would be gratfull for some pointers.
     
  5. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    You could probably use a fracturing and destruction tool kit on a single room sized cube that can be instantiated infinitely on x y and z as the player moves. Also using InstantOC on the fragments to cull what isn't seen by the camera will furthermore increase your fps. First center cube can have the inner fragments removed as a starting point.

    You can use the asset "destroy it" to have the programming of sparks, how many hits it takes to destroy a fragment from the block etc.
     
    Last edited: Jun 21, 2017
  6. Kappytn

    Kappytn

    Joined:
    May 22, 2017
    Posts:
    8
    I did, but it seems my program was simply playing up. After a restart and a couple more tries it seems to be working well. Ideally I would love to be able to just add caves to a MM terrain but this is much better now, thank you.
     
    MarkusGod likes this.
  7. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    to just add caves you might be able to use the Voxeland stamp brush to remove areas from a mesh shaped as a cave but I haven't tried the stamp tool since the early beta creation so I'm not sure if it will do it the way I'm thinking.
     
  8. MarkusGod

    MarkusGod

    Joined:
    Jan 10, 2017
    Posts:
    168
    @Wright, it would be great if you pin the gitlab link to the head of thread so we won't bother you here.
    And that would be awesome to have ability bake terrains to meshes like in v4. So it may be compatible with streaming solutions, just now store all meshes map in RAM is very hard, if we set chunk generation, while chunk generation it a HUGE performance drop (from 80-70 to 50-40)
     
  9. Dwight_Everhart

    Dwight_Everhart

    Joined:
    May 11, 2014
    Posts:
    123
    This should be possible by combining Voxeland with MapMagic, which can generate infinite terrain. You could design your graph to generate terrain up to the maximum height, to keep everything underground. You may need to write a little code to keep the player from mining above that height. The cave generation can be done by using a noise pattern to remove voxels from the generated terrain, although those caves may not be infinite. Denis shows how to do this in this video, starting at 7:12:



    Good luck!
     
  10. Gunsrequiem

    Gunsrequiem

    Joined:
    May 17, 2017
    Posts:
    71
    Thank you. This worked perfectly :)
     
  11. Jeremy-Borton

    Jeremy-Borton

    Joined:
    Oct 21, 2015
    Posts:
    63
    How do I texture the terrain better? Look at how blocky the terrain texturing is of the grass squares: https://ibb.co/mUVxDQ
    Can I use megaSplat to fix this? Any suggestions?

    Not sure how to use megasplat on it yet, but... Apparently just changing the height of each land block texture to like 200, 100, and 150 ect produces some nice blending of layers. I don't have the blocky look at all any more: https://ibb.co/heGetQ
     
    Last edited: Jun 22, 2017
  12. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Yeah, I know piracy exists. Thanks for the information, but it's better not to post a link to piracy content on public forums. You can inform me via email.

    MuckSponge, thanks for the script! I will add the proper events in the new version.

    Gunsrequiem, you don't need any MM object to use MM with Voxeland - not even when working with the biomes. Was going to link that video but then noticed you've sorted that out :) Note that you should use Voxeland Output in your biomes instead of the standard height and textures outputs.

    You can increase the relax iterations count in settings to make the terrain look smoother. Note that you will have to increase a chunk margins value to get rid of the chunks seams too.

    chiefarchon, you can't "cut off" the top terrain surface to make only the caves, but you can make make it planar to reduce overhead. With Voxeland+MapMagic you can create terrains with 16M units in size from scene origin.

    Jeremy-Borton, that blocky view was made for a reason - Voxeland enhances visibility for all of the blocks that are not surrounded by the blocks of the same type. In most cases you should see what block exactly you are going to dig (the player should see whether it is a cliff or a grass). But I agree that this does not have sense when you are not changing terrain in playmode - so I will make this feature switchable.
     
    Jeremy-Borton likes this.
  13. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Ok im trying to get Voxeland 5 to work with Ultimate Survival, anyone whose been able to do this any ideas?
     
  14. chiefarchon

    chiefarchon

    Joined:
    Jun 22, 2009
    Posts:
    80
    Thanks for the help I will definitely look into this now :)
     
    Dwight_Everhart likes this.
  15. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Endless caves remind me of Runescape back in the day.
     
  16. Kappytn

    Kappytn

    Joined:
    May 22, 2017
    Posts:
    8
    This only works on its own Voxeland terrain, I can't find a way to use the brushes on Map Magic.
     
  17. killer1171090

    killer1171090

    Joined:
    Feb 23, 2013
    Posts:
    145
    Can voxeland be modified todo planets? with compatability to Map Magic? And if so, how could I got about doing this?
     
  18. BobOfTibia

    BobOfTibia

    Joined:
    Aug 24, 2016
    Posts:
    40
    Greetings. I seem to be stuck on something odd, but hopefully fixable.

    I have multiple terrains placed together, intertwining to make hills and islands, when I go and hit play, my character seems to be able to move across the hills and rock portions of the map, but the main island portion of one of the terrains seems to cause my character to lock into a permanent falling animation, the moment it touches, but while stilling being able to move.

    After several hours and tinkering, I'm still not sure what about this particular terrain is causing my character to spazz out. Any ideas anyone?

    EDIT: I have tampered with the height, with moving the terrains apart, with raising terrains so the terrain causing the problems is no longer connected, but nothing seems to fix this singular terrain.
     
    Last edited: Jun 24, 2017
  19. Jeremy-Borton

    Jeremy-Borton

    Joined:
    Oct 21, 2015
    Posts:
    63
    Question: Is there a way already to export the mesh of voxeland along with it's textures? I need to get the meshes and the texture maps.

    I would very muck like to see the wiki as linked in the About section of Voxeland. I need a reference or manual or something.

    Thanks
     
  20. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    I know this is possible with Voxeland 4 with free 3rd party obj exporters. You would first bake your Voxeland to mesh and when you export to obj select the chunks you want to export (there is a lowRes and hiRes version of each chunk so you might only want to select hi or low chunks specifically to be exported. There are also FBX exporters on the asset store which may keep your textures and chunk positions.


    Have you tried to disable the other chunks and just enter play on just the main part? I'm thinking it's something to do with maybe a high offset effecting the built-in terrain colliders. Your using map magic along with Voxeland right? ie; multiple terrains placed together, intertwining to make hills and islands. If you start with the main terrain and it's still happening then try raising your player several feet above so it falls and maybe lands on top of the collider -just an idea.
     
    Last edited: Jun 25, 2017
  21. BobOfTibia

    BobOfTibia

    Joined:
    Aug 24, 2016
    Posts:
    40
    @Ascensi I'm using nothing other than the Voxel terrains, no map magic. I literally just have say two terrains, one that makes hills, the other a flat surface, set into each other.

    I've tried seperating them completely, something about this one terrain piece does it, even when one another isn't touching.

    As for falling into it, i have buildings, walking flat onto the surface from the floor of my buildings locks my character, dropping my character on runtime on the terrain locks my character, jumping from a cliff onto the terrain locks my character.

    It happens the moment I touch it no matter how my characters placed.



    EDIT: Added a picture, the green Terrain is the one that causes the falling animation to lock up.

    The Grey Terrain plays as normal. Can jump, move and otherwise all around play on it, touching the green terrain though, as said, locks my character into a falling animation.
     

    Attached Files:

    Last edited: Jun 25, 2017
  22. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188
    The integration of Map Magic in Voxeland is cool.
    But the workflow of MapMagic is height-based.
    Here things are complicated very quickly.

    In my current project I would like to represent an underwater landscape.
    In this case, slopes of more than 90 degrees are required.
    See the screenshot

    upload_2017-6-25_16-53-5.png

    In order to create simple bottoms of rock faces, as marked in red in the example, very many steps are necessary.

    upload_2017-6-25_16-48-36.png

    To get this result
    upload_2017-6-25_16-56-49.png

    I think here should be simpler ways to create complex structures like tunnels.

    The system itself is very good and I consider Voxeland as the best voxel system for Unity and MapMagic for the best MapGenerator for Unity.
    But it can be even better.

    It would also be possible to offer a kind of stamp system for voxel:
    An fbx mesh is converted to voxel and then placed on the map as objects. so it would be possible to specify complex shapes.
    For example a world with gigantic mushrooms.
     
  23. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Hey all!

    I have just a couple of questions about Voxeland.

    1) Is there a way to remove the smoothing of voxeland so that it's a cubic terrain? Or maybe at least a triangular kind of terrain like PolyWorld? I can achieve this unofficially (the cubic part) by changing one of the scripts and bugging it out, but was wondering about an official method.

    2) Is there a way to use Vertex Colors for the terrain, instead of textures so that the grass is different shades of green and such? I think MegaSplat might have a feature for that but I am wondering if that would work with Voxeland.

    Thanks for any responses.

    If anybody has maybe a custom generator for this, that would work too. For the terrain generation at least.
     
  24. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188

    It is very easy to create a Minecraft like Voxel terrain.
    Just switch off the smoothing and relaxing.

    upload_2017-6-25_20-48-31.png
    upload_2017-6-25_20-48-55.png


    to the second question i cant tell more.
     
    Brandon_Powell likes this.
  25. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Thanks! It worked. Damn it was that easy lol.

    Yeah now I just need to figure out how to get Vertex Shading to work. Or something.

    I am trying to achieve something like:



    See how the colors are more smooth?

    If I use a solid green texture, well you can hardly notice the shading/where blocks begin and end.
     
  26. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188
    I think you will be able to change the standard shader.
    The soft look from the example could certainly be created by light bloom effects. And of course ambiente occlusion. So you can get close to the result.
    Maybe this can help you
    https://www.assetstore.unity3d.com/en/#!/content/68570
     
  27. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,492
    I think he is referring to the vertex based gradient not the bloom.
     
  28. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Yes that sounds about right.

    Edit:

    Just gonna edit this post, don't see a need to make a new one.


    Well, it's a start!



    Now I just need to find a way to make the colors look better. Make certain slopes dirt, remove the texture bleed effect, etc. Especially that bleed effect..

    Edit 2: How do I check to see in code if Voxeland has generated around the player yet? I'm using UnitZ and when the player spawns he falls through the ground because the world is not generated yet.

    Edit 3: Well, on a bright side I added Vertex coloring to Voxeland. Not quite the way I wanted, but I added it nontheless lol! The way it is now it's good for coloring your terrain, if you want grass more green, etc. Still need to make it a gradient though.
     
    Last edited: Jun 26, 2017
    Dwight_Everhart likes this.
  29. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    I just realized, it would probably be easier for me if I could get Voxeland integrated with Polyworld (Woodland?), is there any chance of this happening @Wright ?
     
  30. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Diego_Graphics, note that you can not only add layers to terrain, but also subtract, cutting current terrain mass. In order to do that you should use "Empty" block type. The crater you showed on the image I would rather do this way:
    CraterCave.jpg CraterCaveGraph.jpg

    jessejarvis, I've played a bit with the shader and realized that it's better to split the mesh into quads on mesh level in order to make such a hard edges. I will need to do that in order to integrate MegaSplat anyways. Integrating with PolyWorld seems to be an interesting idea, but I've got to finish the integrations I've already promised - MegaSplat and Ultimate Survival.

    The easiest way is just to cast the ray down until it will collide the land.

    You can create asteroids or even asteroid fields, but not planets. The reasonable asteroid size is 3-4 chunk sizes (48-64 units). It's far from the planet size, unless you are going to settle Little Prince on it.

    BobOfTibia, is it only an animation issue? The character does not fall through it, right?

    Jeremy-Borton, you can save the meshes generated by Voxeland to scene (Settings > Save Meshes with Scene) and turn off Voxeland component - or remove it completely. You can even try exporting them to .obj file using 3d party exporters - but you will loose texture and ambient information since .obj file does not support this vertex data.
     
  31. valentinwinkelmann

    valentinwinkelmann

    Joined:
    Nov 3, 2014
    Posts:
    188

    Thankyou for your Response @Wright .
    I Playing arround with the Adding of Empty voxels ( Subtract ). so i come closer to the results i want.
    But i think for realistic voxel terrains with caves and abstract shapes there should be some more nodesin mm for voxeland.

    as an example i think a noise what i can atatch from z or x axis could be helpfull. so that a area can deformed on the horizontal position.



    also a profile what can atatched from x and z could be helpfull
    i just mean:
    Map Magic works with default terrains, it generates wounderful heightmaps but heightmaps just works on the y axis.
    for voxeland it would be great when we can work more efficient on the x and z axis.
     
    Exbleative likes this.
  32. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Alright thanks, I'll wait :) Good to know it's a sort of upcoming planned feature anyways lol.

    Okay I was thinking of doing that, so I guess that's awesome! :)

    Edit: Oh, and I would say not to worry about US integration but... well with the delay of 0.2 I'd say you will get it done quicker anyways haha. He did integrate it but I'm not sure how much because we haven't got to see it yet.
     
  33. BobOfTibia

    BobOfTibia

    Joined:
    Aug 24, 2016
    Posts:
    40
    @Wright The character did indeed stay above the terrain; No falling through, after about a week of the problem though, I bit the bullet yesterday and just deleted the old terrain and started remaking it.

    It is working now.
     
  34. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Diego_Graphics, it's a good idea, but currently I have no thoughts about how it all should work. Maybe it should be some kind of heightmap that is applied after all the terrain is done. Any ideas?

    BobOfTibia, using one terrain sounds like the better approach. But anyways, just curious what happened with animation. What was the animation controller?
     
  35. Don-Gray

    Don-Gray

    Joined:
    Mar 18, 2009
    Posts:
    2,278
    Is there a way to make the brush flatten an area, smooth doesn't seem to do it?
     
  36. sebou42240

    sebou42240

    Joined:
    Aug 21, 2015
    Posts:
    19
    hello, do you know how to spawn object at y=0 in terrain (like tree or other) ? beacause i spawn tree but i add gravity and the tree tomber on the scene to have a good placement :( i don't have other solution.... please help me :)
     
  37. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Don-Gray, there's no such a brush, but I can add it in 5.0.2. The only thing I need is a description of how it should work, because it's not obvious in 3D space. Keep in mind that you cannot edit blocks that are out of brush scope, so you can't just stamp it on a height of 10 with a level value of 100.

    sebou42240, if I got you clearly you need to spawn an object at the terrain surface level, right? The easiest way to do so is to cast a ray down to terrain and spawn object at the intersection point.
     
  38. sebou42240

    sebou42240

    Joined:
    Aug 21, 2015
    Posts:
    19

    yes it's this, but do you know how to do this or do you have tutorial please ?
     
  39. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Hey everyone im running into a bit of a problem. For some reason some areas of terrain are being updated and the "far distance" or low poly version of the terrain is not being removed. About halfway up the screen you can see the old terrain still existing. It has no grass, trees, or anything else spawning on it. Any ideas why the un-updated terrain still exist?
    upload_2017-6-30_22-6-24.png
     
  40. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    sebou42240, here is Unity tutorial explaining raycasts: link

    Will-D-Ramsey, is this issue reproducible - does it happens any time you come to this location? Was there any error in the console?

    It would be great if you could report it on the issues page.
     
  41. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    Pretty much this happens all over the terrain is various spots. sometimes I get very close to them and they disappear leaving just the updated terrain behind.
     
  42. Madaahk

    Madaahk

    Joined:
    Jun 24, 2017
    Posts:
    2
    Hey there!

    So, I'm attempting to get Map Magic, Voxeland, and Polyworld to work together to create a poly-voxel landscape.

    I know how to get MM + PW to work together, and I'm figuring out MM + VL. My questioning is, how can I create a voxel Terrain in MM and apply the Polywrold script to it. Thanks!
     
  43. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Will-D-Ramsey, what are you range settings? Do you see any error in the console?

    Madaahk, you cannot make a voxel terrain in MapMagic, but you can use MapMagic as a generator for Voxeland. So you will need to apply Polyworld not to MapMagic terrains, but to Voxeland ones.
     
  44. Madaahk

    Madaahk

    Joined:
    Jun 24, 2017
    Posts:
    2
    Ah, okay, cool! So, I'm following your first tutorial with map magic and voxeland, and noticed there is no terrain (though I haven't gone further). How do I / when does it produce actual terrains for me to apply Polyworld to?
     
    Last edited: Jul 3, 2017
  45. Will-D-Ramsey

    Will-D-Ramsey

    Joined:
    Dec 9, 2012
    Posts:
    221
    No errors in the console, here are my range settings.
    upload_2017-7-3_6-47-20.png
     
  46. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Madaahk, when used with Voxeland MapMagic does not create any standard Unity terrain, it uses Voxeland instead. You have to apply Polyworld to Voxeland if it is possible - but I'm not sure it is, I have not toyed with Polyworld yet.

    Will-D-Ramsey, try increasing Voxel Meshes Remove distance - to 150 or something. I guess Voxeland is in confusion for chunks with range of 100 (however, this does not explain why you've got horizon so close to camera).

    If it will not help could you please mail me your scene?

    Also I'd like to recommend you decreasing Sculpt Areas Generate distance for the same reason - the are will be generated and removed too often, you've got to give it some buffer distance.
     
  47. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    What about using a 3rd party fbx exporter? there are a few listed on the asset store.. would this work?
    There is a Unity to Maya exporter as well.
     
    Jeremy-Borton likes this.
  48. twodave

    twodave

    Joined:
    Sep 26, 2016
    Posts:
    24
    Hi there @Wright ..

    I get this error fairly often with Voxeland using MM, and it appears to randomly choke terrain gen sometimes. It's not consistent, and seems to occur badly right after scene save. I can see the progress bar on rebuilding the terrain halt.

    Code (CSharp):
    1. Thread Error: System.IndexOutOfRangeException: Array index is out of range.
    2.   at MapMagic.Matrix2`1[System.Single].get_Item (Int32 x, Int32 z) [0x00001] in ...\Assets\MapMagic\Main\Matrix2.cs:486
    3.   at MapMagic.VoxelandObjectsOutput.Process (CoordRect rect, MapMagic.Results results, MapMagic.GeneratorsAsset gens, Size terrainSize, System.Func`2 stop) [0x00215] in ...\Assets\MapMagic\Generators\VoxelandOutputs.cs:446
    4.   at (wrapper delegate-invoke) MapMagic.Action`5<MapMagic.CoordRect, MapMagic.Chunk/Results, MapMagic.GeneratorsAsset, MapMagic.Chunk/Size, System.Func`2<single, bool>>:invoke_void__this___CoordRect_Chunk/Results_GeneratorsAsset_Chunk/Size_Func`2<single, bool> (MapMagic.CoordRect,MapMagic.Chunk/Results,MapMagic.GeneratorsAsset,MapMagic.Chunk/Size,System.Func`2<single, bool>)
    5.   at MapMagic.GeneratorsAsset.Process (CoordRect rect, MapMagic.Results results, MapMagic.GeneratorsAsset gens, Size terrainSize, System.Collections.Generic.HashSet`1 changedTypes, System.Func`2 stop) [0x0022b] in ...\Assets\MapMagic\Main\GeneratorsAsset.cs:472
    6.   at MapMagic.GeneratorsAsset.Calculate (CoordRect rect, MapMagic.Results results, Size terrainSize, Int32 seed, System.Func`2 stop) [0x0001e] in ...\Assets\MapMagic\Main\GeneratorsAsset.cs:224
    7.   at MapMagic.GeneratorsAsset.Calculate (Int32 offsetX, Int32 offsetZ, Int32 size, MapMagic.Results results, Size terrainSize, Int32 seed, System.Func`2 stop) [0x00013] in ...\Assets\MapMagic\Main\GeneratorsAsset.cs:227
    8.   at Voxeland5.Generator.Generate (Voxeland5.Area area, System.Func`2 stop) [0x00627] in ...\Assets\Voxeland\Main\Generator.cs:930
    9.   at Voxeland5.Data+Area+<Init>c__AnonStorey0.<>m__0 () [0x00028] in ...\Assets\Voxeland\Main\Data.cs:87
    10.   at Voxeland5.ThreadWorker.ThreadFn () [0x00020] in ...\Assets\Voxeland\Main\ThreadWorker.cs:501
    11. UnityEngine.Debug:LogError(Object)
    12. Voxeland5.ThreadWorker:ThreadFn() (at Assets/Voxeland/Main/ThreadWorker.cs:525)
     
  49. Wright

    Wright

    Joined:
    Feb 26, 2013
    Posts:
    2,266
    Ascensi, I have not tried any FBX exporters, but since Voxeland chunks are the common unity meshes it might work.

    twodave, it would be great if you could report a private issue on the Voxeland issues page and attach your scene here. However I'm not sure that unregistered users can create private issues, so feel free to email it to me if you will have problems with that.
     
  50. jessejarvis

    jessejarvis

    Joined:
    Aug 9, 2013
    Posts:
    303
    Hey everybody, I was wondering if somebody could make a more detailed video about the Voxeland/MapMagic integration?

    I'd like to know how to add trees/grass, but also make the typical mountains but a grasslands kind of biome too. That way one is mountainy/rocky and another is more like smooth open plains.

    I'm fiddling around with Voxeland right now trying to get it more smooth (instead of a bunch of bumps here and there).

    Current:







    Edit: By boosting the Smooth Normals/Relax Strengths properties it is a bit more smoother now, but mainly the issue with making a smooth terrain are those extra "blocks" that get generated during the Noise process.

    You can see it like this as an example:

     
    Last edited: Jul 10, 2017
    Chemanel and Dwight_Everhart like this.