Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Unity 5 Runtime Mesh Operator

Discussion in 'Assets and Asset Store' started by muttley8, Feb 8, 2016.

  1. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    Hello guys this is Cagatay,
    I have special interest in mesh structure . I am familiar with runtime generated mesh techniques.. I am currently developing an asset for Unity 5.
    So I developed a simple system for reducing meshes, system which is designed and optimized for runtime usage, and i am planning to put it on the Asset Store, as I think others might benefit from the performance improvements, which were fantastic in my game, (i am currently developing a marching squares based runtime mesh generating game). I also tested with single objects in the scene i really got crazy results.

    I want to share results with you. I currently reduced 100 objects simultaneously , without any signifcant performance impact in scene with maximum %25 cpu usage

    The projects features are:
    * 15 selectable decimate levels and custom level setup.
    * 12 selectable subdivide levels.
    * Fast, optimized, low memory and multithreaded footprint
    * Customizable Thread Count.
    * Reducing without color arrays. For performance or other reason you can disable the color32 array.
    * Destroy generated scripts property(System attaches a meshadapter script to each target object.
    * Batch reducing with tag . All meshes with tag will be reduced.
    * Batch reducing with layer. All meshes with tag will be reduced.
    * Removing unused vertices and triangles in a different thread.
    * Low memory footprint with pooling(optional).
    * Single or Batch mesh operations.

    I plan to actively continue development on this project; I am planning to release within two weeks.
    I want to see that if this tool attracted you. If i release it would you like to buy it or any projects in this topic is in your point of interest.

    https://assetstore.unity.com/packages/tools/modeling/runtime-mesh-operator-55504

    Cagatay
     
    Last edited: Oct 24, 2017
  2. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
  3. Amanda89

    Amanda89

    Joined:
    Mar 10, 2016
    Posts:
    1
    Hey , This is pretty interesting . This has been implemented in editor scripts does this have editor? Is it possible to use this asset with runtime generated mesh terrains, can you tell me what is the cost of performance in milliseconds? Does it include source code ?
     
  4. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    Hello, thank you amanda , this actually works at runtime. You can modify the mesh adapter script to integrate your terrain system. The source code is partially included ,the core functionality is in dll.
     
  5. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    The cost of performance depends on the mesh. But the cat object in the video has taken less than 5ms.
    The exact numbers are like this:
    vertices:3279
    tris 3954
    The decimate takes about =~110ms (with level 1)
    The subdivision takes about =~150ms(with level 5)
    Since it is not on the main thread there is no performance hit. If you watched the video the maximum framerate change from 60fps is 5. the overal fps is about 58fps.
     

    Attached Files:

  6. G33RT

    G33RT

    Joined:
    Dec 27, 2013
    Posts:
    52
    Does the api allow me to "regulate" the amount of decimation? I'm looking for a runtime decimator with a simple interface where I can pass the desired target vertex or triangle count (upper limit) together with the Mesh or GameObject to be simlified.
     
  7. themipper

    themipper

    Joined:
    Jun 1, 2012
    Posts:
    8
    Hi Cagatay,

    I just bought your asset and I have a little trouble getting it to work with my runtime generated meshes.
    After some experimenting I have a guess. I think your script is ignoring submeshes.

    This is an example of meshes I try to optimize at runtime. They are all runtime generated.

     
  8. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    Hi there I'm looking for a runtime subdivide operation to specifically allow "texture displacement" compatible for multi-platforms.. will your runtime mesh operator work for this? I have a free no-gpu based shaderhttps://www.assetstore.unity3d.com/en/#!/content/37322 that I will be using to add displacement to high poly objects skipping the need for directX tessellation.

    Here is a breakdown of what I am trying too do..

    *a low poly mesh is pre-sliced with the Fragment and destruction asset so the object will fall apart if damaged and the broken pieces need to be subdivided. The low poly mesh will also need to have subdivision.
    *This destructible mesh will be streamed at runtime using "World Streamer" asset so the runtime subdivision must be compatible so that when the object is subdivided as soon as it is streamed close by.
    *I'm using InstantOC to cull objects the camera can't see that are hidden behind other objects.. there are hundreds of these meshes

    I was working with Tessellated displacement but there are two big reasons not to use it:
    1. only works on PC/direct x
    2. the edges break and you see inside the object on most meshes if the mesh was not made for tessellated displacement.

    On your webstore I haven't seen any examples of subdivision so I don't know how well this would work for materials with displacement .
    I think if you were to advertise and demonstrate the use with Displacement materials your customer base would grow exponentially.

    I tried contacting you from your website but I received a postmaster error
     
  9. themipper

    themipper

    Joined:
    Jun 1, 2012
    Posts:
    8
    Hi all,

    I haven't received an answer in 4 months.
    It seems like this asset is dead (Although he made an update on 14/09/16).

    The mail address on his website is bouncing back with mail routing errors.
     
  10. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    Hello Mipper,
    That is right. Currently there is no suppport for submeshes. To investigate the problem can you please send the project to dcstore@gmail.com, and the guys who can not reach may use http://store.dcsoft.uk/Contact form.

    Thanks in Advance.

     
    Last edited: Oct 24, 2017
  11. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    Sorry about the delayed responses. Just to confirm your problems about the displacement shaders weren`t resolved , because the broken edges were about the shader . Since you have received a development update for the subdivision. RMO works greatly efficient in subdivison as well.
    Thanks
     
  12. muttley8

    muttley8

    Joined:
    Feb 6, 2016
    Posts:
    10
    desired vertex count
    No there is no support for targeting vertex count at runtime. But if you want to do that you can implement with this pseudocode

    while( count > desired vertex count)
    {
    count = api call () .vertexCount;
    }

    You can even have an aging animation like this. The mesh will be destroying automatically as the time passes. I have provided that aging demo a while ago.
     
  13. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    322
    @muttley8 Does this asset work with Unity 2017.X? The asset store page says the last upload was for Unity 5.2.
     
    Jokonut likes this.
  14. NitinSwaroop

    NitinSwaroop

    Joined:
    Jun 4, 2018
    Posts:
    1
    Can this asset be used to subdivide a lowpoly model & make it smoother in unity.. also will the blendshapes, UV & animations stay protected & not disappear when this operation is applied?

    PS: I have not a seen any subdivision tutorials on this asset.. so if possible please can you make one?
     
  15. yeagob

    yeagob

    Joined:
    Jan 27, 2014
    Posts:
    18
    New
    Hi guys!

    Im looking for a mesh siimplification to eliminate mesh superposition. I have a runtime generated mesh with some penetration between objects. When unify objects i need to eliminate inside vertex. Your asset do that?
     
  16. CastryGames

    CastryGames

    Joined:
    Oct 1, 2014
    Posts:
    76
    BRO ADD SUPPORT FOR SKINNED MESH RENDER