Search Unity

--PolyWorld-- Low Poly Toolkits and More!

Discussion in 'Assets and Asset Store' started by QuantumTheory, Apr 9, 2014.

?

Would you consider purchasing prefab PolyWorld scenes, crafted by me, and published in the store?

Poll closed Aug 18, 2015.
  1. Yes, only if they are budgeted for performance, utilize existing packages, and have enough variety.

    4 vote(s)
    44.4%
  2. No, I just want new packs.

    5 vote(s)
    55.6%
  1. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Did some testing today. I'm going to stick with my component script for SurfaceNoise with some modifications. In PW:Ancient East, there will be modular planes of water you can copy and paste around the world. Those planes will have the same normals and vertex count. As an optimization, I can animate and recalculate one of those planes then just apply the new normals and vertices to all the others. The cpu cost went down nicely after I did this. To do fake cloth, vertex alpha will also be used to decrease the influence the noise has.

    These enhancements will be new in Ancient East and included in an update to Woodland at the same time.
     
    twobob and Bullets42 like this.
  2. cj31387

    cj31387

    Joined:
    May 23, 2012
    Posts:
    143
    Can you add a feature so that when you convert a gameObject in your scene that you can check a box or something and it will replace the original non faceted scene object, with the faceted one you just converted at the exact same position rotation scale? This would be really convenient. Manually putting the faceted version in the level at the same place the original one was in. In a large scene can be time consuming when it need not be.
     
  3. pushingpandas

    pushingpandas

    Joined:
    Jan 12, 2013
    Posts:
    1,419
    Or maybe a function to CONVERT all on the Scene? That would be awesome
     
    cj31387 likes this.
  4. saucer78

    saucer78

    Joined:
    Jul 6, 2014
    Posts:
    66
    I know developers hate hearing this - and you may have already answered - but do you have an ETA on these updates?
     
  5. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    I do. The estimated time of arrival for Ancient East is early November. I haven't been updating the thread here lately because I'm crunching at my day job. Work is still progressing though.
     
  6. saucer78

    saucer78

    Joined:
    Jul 6, 2014
    Posts:
    66
    Thanks for the estimate - I just had no idea if I'd be waiting for weeks or months. Keep up the good work!
     
  7. Lee7

    Lee7

    Joined:
    Feb 11, 2014
    Posts:
    137
    In the shader, could you add an option for adding a wireframe around the poly's? It would make them stand out a little better especially in the area's that get smoothed.
     
  8. RC-1290

    RC-1290

    Joined:
    Jul 2, 2012
    Posts:
    639
    That's a bit tricky. You could experiment with GL.wireframe, but you have to do quite some work to get the result you're looking for.

    Another approach for drawing a wireframe on top of the existing mesh is to store barycentric coordinates in the vertex colors, and use that information to draw the lines at a certain width around the edge. Unfortunately Polyworld already uses the vertex color information - for the actual vertex colors.

    Polyworld doesn't use textures, so if you don't need lightmapping either, you might be able to use both uv and uv2 to store the three barycentric coordinate values. And I believe that in Unity 5 you can store more than just 2 sets of texture coordinates, which would also make it easier to add this effect.

    I'm not quite sure what you mean with this bit. Which smoothed areas?
     
  9. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Update:

    Here is a demo video of what to expect with the new and improved SurfaceNoise script coming in PolyWorld: Ancient East:
    • AE will have modular water planes you can copy and paste in the scene. You don't need to create a terrain. This will make it easy to create small waterways in your villages, but also to keep performance in check.
    • Loads of options in the new SurfaceNoise, including the ability to use vertex alpha to attenuate the effect. This is great for simple flags and cloth.

    Also as a side note, AE will have alot more geometric detail. No screenshots yet, but LODs will be added so it runs nice on mobile too.
     
    saucer78 likes this.
  10. OnePxl

    OnePxl

    Joined:
    Aug 6, 2012
    Posts:
    307

    Looks great! Did you happen to make this shader with Shader Forge?
     
  11. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Nope. It's not a shader. It's a component script. There are a bunch of reasons I went this route and it all seems to be working out nicely.
     
  12. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    And now, behold the tedium of LODs, all by hand.

    I build everything in Max in a modular way, then combine them and optimize them further. Doing LODs for these pieces is an intermediate step to the larger roof pieces. Only 4 are shown here, but I have probably 20 or so that I can use to make eastern-style rooflines of any footprint.





    These are some of the modular facade pieces with their LODs under each. A door variant is on the far right.



    I'm doing LODs for everything because I want a higher triangle count for Ancient East. Once I get some shots up I think you will agree it's a good idea ;) The fidelity between this and Woodland is night and day, but it will still run fast if not faster than Woodland.
     
    twobob likes this.
  13. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081


    Cool features in the new SurfaceNoise allow some cloth to be made. Here are some variations of new and old tapestries. Flags of different sizes and shapes will also be included.
     
  14. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081



    Merchant props will be in Ancient East; textiles, grain bags, food stands, pots, vases, etc.. I also made a variety of cloth overhangs that sway in the breeze similar to the tapestries in the previous post.
     
    Socrates likes this.
  15. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    Wow, that Ancient East stuff looks amazing. Got Polyworld today and suddenly I realized I have a few Quantum Theory assets in my project already. Can't wait to add this AE asset and the coloring script and surfacenoise. You do some great work.
     
  16. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Thank you kindly! It helps to hear such positive feedback!

    One more pic for today:



    Woof!
     
    SolitudeSA likes this.
  17. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Really Awesome stuff you're cooking up.
    Very nice.
     
  18. mittense

    mittense

    Joined:
    Jul 25, 2013
    Posts:
    168
    I keep running into this error when trying to use the mesh converter:

    NullReferenceException: Object reference not set to an instance of an object
    QT_ConvertMesh.RenderSimpleProp (UnityEngine.MeshFilter MF, UnityEngine.MeshRenderer MR, UnityEngine.GameObject currentGO) (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:553)
    QT_ConvertMesh.ConvertMesh (UnityEngine.GameObject WorkingGO, UnityEngine.GameObject[] MeshGOs, UnityEngine.MeshFilter[] MFs, UnityEngine.MeshRenderer[] MRs, UnityEngine.SkinnedMeshRenderer[] SMRs) (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:393)
    QT_ConvertMesh.OnGUI () (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:143)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
     
  19. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Ah yea. Your texture doesn't have mip maps. Make sure they're setup to calculate by selecting the texture in your project and turning on "Create Mip Maps." More info here: http://docs.unity3d.com/Manual/class-TextureImporter.html
     
  20. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081


    rarr!
     
    saucer78 and Socrates like this.
  21. mittense

    mittense

    Joined:
    Jul 25, 2013
    Posts:
    168
  22. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
  23. mittense

    mittense

    Joined:
    Jul 25, 2013
    Posts:
    168
    Ah, yeah, doing the conversion in 4.5 worked fine. Apologies.
     
  24. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    3 LODs of a roof object:

    Higher detail for desktops/consoles, lower detail for mobile, lowest detail for performance

     
    saucer78 likes this.
  25. Deleted User

    Deleted User

    Guest

    So I have all these props from blender and I have no problem importing them and remeshing them to Polyworld, but there is just one mesh that gives me problems and I don´t know why

    I keep getting this error...

    "NullReferenceException: Object reference not set to an instance of an object
    QT_ConvertMesh.RenderSimpleProp (UnityEngine.MeshFilter MF, UnityEngine.MeshRenderer MR, UnityEngine.GameObject currentGO) (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:398)
    QT_ConvertMesh.ConvertMesh (UnityEngine.GameObject WorkingGO, UnityEngine.GameObject[] MeshGOs, UnityEngine.MeshFilter[] MFs, UnityEngine.MeshRenderer[] MRs, UnityEngine.SkinnedMeshRenderer[] SMRs) (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:294)
    QT_ConvertMesh.OnGUI () (at Assets/Quantum Theory/Polyworld/Editor/QT_ConvertMesh.cs:100)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)"
     
  26. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    If that's a skinnedmesh, make sure there are actually weights assigned to the vertices in blender.
     
  27. Deleted User

    Deleted User

    Guest

    Oh, that worked! Thanks a lot man
    And I have another problem, I´ve managed to avoid it until now, when I create a mesh from a terrain and choose to "split into chunks" it destroys my previous mesh, leaving holes everywhere, up until now there were a few faces that broke, but now half the terrain disappears...

    Here is a pic of the intact mesh/terrain and down the splitted version
     

    Attached Files:

  28. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Couple things:

    1. How tall is that terrain?
    2. Are you certain it is a perfect square? Non-square terrains are not supported.
    3. Can you send me just that terrain? Email support@qt-ent.com

    Thanks!
     
  29. Deleted User

    Deleted User

    Guest

    Ok, I'm on the phone so I can only answer the first questions, the terrain is 1600x1600x300 (though the tallest mountain only goes for 80)
    Anyways thanks a lot, your work is awesome!

    EDIT: Terrain sent
     
    Last edited by a moderator: Nov 16, 2014
  30. Leggo720

    Leggo720

    Joined:
    Sep 16, 2014
    Posts:
    1
    This asset looks beautiful, especially the color variation with the facets. And accordingly i have a question: Would you mind telling me, how you achieved such an effect?
    Anyways great work.
     
  31. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    Can't say enough great things about Polyworld (and can't wait to get my hands on the Ancient East one - so hurry it up!). Been using it for a few days and can do a terrain in World Builder, bring it into Unity and paint splat textures with Terrain Composer and generate some extra little noise in the map to get some nice Polyworld polygons in a few minutes and use the Polyworld terrain mesh tool to turn it into a mesh, paint the vertex colors, and cut it up into a bunch of small meshes. I literally only have an hour a day to work on my game (haha, I'm a noob and probably will never finish it), but can do a 512 x 512 terrain per day and the style is beautiful. Got 6 terrains done already and going for 2048 x 2048 total map size, so 4 x 4 terrains (16).

    Of course there's that ton of work filling these terrains later on with rocks, trees, roads, towns, and some kind of gameplay, but this asset is gold and is going to get a workout converting all those models. I kinda don't want anyone knowing about Polyworld because there is just going to be an explosion of games that have this art style. And this is more fun playing with than actually playing some games.

    Read somewhere yesterday (maybe reddit?) that someone made the demo scene for Polyworld work on the Oculus Rift and people are raving over the art style and some even said it was one of the best Oculus Rift demos.
     
  32. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    That's some great feedback! Thank you very much for that. I'm glad the pack is working great for you. If you haven't already, please consider adding this to the review page of the asset store. I'd greatly appreciate it!
     
  33. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    PolyWorld Woodland 1.72 is out

    - Minor bugfix with terrain mesh chunk function. High terrains are now cut properly.
    - Removed the annoying "layer" debug console warning.
     
  34. MIK3K

    MIK3K

    Joined:
    Sep 10, 2014
    Posts:
    144
    I've bought an embarrassing number of assets on the store. This one just got my first review. Enough gushing - get back to work on that Ancient East! That's the only asset I'm looking forward to now.
     
  35. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    AE is taking a bit longer but for good reason. ModifyColor had a special mask-based approach for converted meshes. You can see it in the video. Long story short, it sucked and you guys would've been unhappy with it. It just didn't allow for a targeted color change for most meshes. So I rewrote it.



    This is an early shot of it. Basically, you have 6 colors to apply to the mesh. Technically I can let you do as many as you want but that would get nuts. The coolest thing about this is that when you hit the "Sample Color on Mesh" button, you can then click on a triangle on that mesh and, based on the hue and brightness ranges, switch anything on that mesh that resembles that color within those ranges. I'll post a video soon, but I'm really happy how this turned out.

    PolyWorld meshes that are included in the packs will be already pre-masked so you can jump in and iterate quickly. Imagine different colored chests, villages, props, all done through this script in the inspector. I'm also including the ability to save and load color palettes which can be handy when you need to recolor an entire set of props or buildings to make a unique village.
     
    twobob likes this.
  36. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
  37. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    I am literally drooling over the AE pack. sigh.
     
  38. AlanGreyjoy

    AlanGreyjoy

    Joined:
    Jul 25, 2014
    Posts:
    192
    By any chance, can you add support for terrain grass and tress? I would LOVE to be able to use the terrain tools for grass and tress.

    Or do you suggest quick brush?

    Cause i really wanted to keep the wind effect on the grass still
     
    Last edited: Nov 25, 2014
  39. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Last edited: Nov 26, 2014
  40. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Cheeky realtime shadows there. Fancy.

    Take my money.
     
  41. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Quick Brush looks really good though I have not tried it. 15$ seems like a steal.
     
  42. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Just tested PolyWorld in Unity 5b14. Works just fine after the automatic API conversion! I recommend reducing the ambient intensity of the PolyWorld materials to 0 and rely on the ambient colors driven by the internal skybox system. I'll have to make Unity 5 shaders.
     
    Last edited: Nov 26, 2014
  43. saucer78

    saucer78

    Joined:
    Jul 6, 2014
    Posts:
    66
    Very excited about the ModifyColor options with the upcoming release!

    I'm certain you're VERY busy with getting this out - and taking tons of advice along the way, haha - but if it would be simple enough to add an option to define and colorize the perimeter of each polygon as well, it could provide for a radical change in scenery, paving the way for all sorts of retrofuture/cyberpunk/wireframe motifs. Again NO idea how difficult it would be to implement, but I'm sure it would make for an even more robust creative tool.

    This may already be doable, with some combination of the wireframe mesh created by the converter... but I haven't been able to figure it out yet.

    Some visual examples:







     
  44. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Very cool shots.

    That data can't be done via conversion as colors aren't store "per edge," so to speak. It would have to be done as a post effect or some sort of shader.

    https://www.assetstore.unity3d.com/en/#!/content/18794 might be close to what you're looking for.
     
    saucer78 likes this.
  45. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Update:

    Screenshot of the same building prefab with 3 other color variations. The red one is the default color, but the other 3 palettes are from simple text file palettes that are loaded into ModifyColor. A bunch of palettes will be included in the pack.



    You'll also be happy to know that production is starting to wrap up! With the exception of a few items, all the asset development and code work is done. All I have to do now are nice mobile and desktop demo scenes, marketing art and videos, and submit to the store!
     
    Last edited: Nov 27, 2014
    Socrates likes this.
  46. AlanGreyjoy

    AlanGreyjoy

    Joined:
    Jul 25, 2014
    Posts:
    192
    I, and I am sure others, would LOVE for a fast.. 10 min video on how to model in maya or 3ds in this style. I have tried, but, as simple as this is... it's not xD

    Those walkways for the new package coming out are nice!
     
  47. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Showed this to this kid I work with. First thing they said "How do we go inside".
    Sigh. Kids.

    Time to break out Buildr and some creative teleporting...
     
  48. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Extracted from mangled Forum post and rebuilt to useful semblance.

    Code (csharp):
    1.  
    2. Shader "Custom/CustomWireframe" {
    3. Properties { _LineColor ("Line Color", Color) = (1,1,1,1)
    4.             _GridColor ("Grid Color", Color) = (0,0,0,0)
    5.             _LineWidth ("Line Width", float) = 0.1
    6.             }
    7.            
    8. SubShader {
    9. Pass {
    10. CGPROGRAM
    11. #pragma vertex vert
    12. #pragma fragment frag
    13.  
    14. uniform float4 _LineColor;
    15. uniform float4 _GridColor;
    16. uniform float _LineWidth;
    17.  
    18. // vertex input: position, uv1, uv2 struct appdata { float4 vertex : POSITION; float4 texcoord1 : TEXCOORD1; float4 color : COLOR; };
    19.  
    20.       struct appdata
    21.       {
    22.         float4 vertex : POSITION;
    23.         float4 texcoord1 : TEXCOORD0;
    24.         float4 color : COLOR;
    25.       };
    26.  
    27.       struct v2f
    28.       {
    29.         float4 pos : POSITION;
    30.         float4 texcoord1 : TEXCOORD0;
    31.         float4 color : COLOR;
    32.       };
    33.  
    34. v2f vert (appdata v)
    35.       {
    36.         v2f o;
    37.         o.pos = mul( UNITY_MATRIX_MVP, v.vertex);
    38.         o.texcoord1 = v.texcoord1;
    39.         o.color = v.color;
    40.         return o;
    41.       }
    42.      
    43. fixed4 frag(v2f i) : COLOR
    44. {
    45.  
    46. fixed4 answer;
    47.  
    48. if (i.texcoord1.x < _LineWidth || i.texcoord1.y < _LineWidth) { answer = _LineColor; }
    49.  
    50. else if ((i.texcoord1.x - i.texcoord1.y) < _LineWidth && (i.texcoord1.y - i.texcoord1.x) < _LineWidth) { answer = _LineColor; }
    51.  
    52. else { answer = _GridColor; }
    53. return answer;
    54. }
    55. ENDCG
    56. }
    57. }
    58. Fallback "Vertex Colored",1
    59. }
    60.  
    61.  

    That appears to allow for the encoding of a subset of "lines" in UV2 over a larger 0->1 tile.
    (and shove a big line over 0-1 and it's diagonal presently)
    Pretty sure that's what it does ;)
    Which sounds a lot like what was being discussed.
    Anyways, it's there. hope it helps. HiJack over.
     
  49. AlanGreyjoy

    AlanGreyjoy

    Joined:
    Jul 25, 2014
    Posts:
    192
    I thought you would like to see your asset in Sandbox/MMORPG :)

    www.cubewarriorsonline.com

    And QuickBrush works great!

    But.. if there were a way for you to hide everything BUT grass on unity terrain.. then I could make a poly art style vector for the grass blades. THAT would be freaking awesome. Already have grass made. I tried to use ProBuilder, texture a block with transparent shader and use QuickBrush to paint the grass on the terrain... but it just isn't right. Swaying poly grass would be amazing.

    **EDIT
    I am going to play with the editors. I did increase the poly count for the converter, works out fine.
     
    MIK3K likes this.
  50. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    @AlanGreyjoy did you try that shader I mentioned... I used it effectively on trees with little effort the other day, it's not the same but it does provide some nice wiggling edge effects. with no vertex painting.


    seems to have value for the context and is very optimised.


    Another HiJack (almost) ends. (sorry)
    Also, tiny, almost pedantic and moot point, but you show Frustrum culling, not Occlusion culling in the video. I hate myself for saying it but meh. Which is still a nice optimisation and Occlusion culling would work, you just don't show it. There. now I hate myself. Also I read how incredibly experienced you are and your customer services manifesto so don't think I am trying to teach granny how to suck eggs, nor tell you how to do your job. ;)
     
    Last edited: Nov 28, 2014