Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Ever participated in one our Game Jams? Want pointers on your project? Our Evangelists will be available on Friday to give feedback. Come share your games with us!
    Dismiss Notice

[Released] Vertex Animation Tools - import and play Point Cache & Mesh Sequences

Discussion in 'Assets and Asset Store' started by polyflow3d, Oct 6, 2014.

  1. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194




    Vertex Animation Tools 3.0 is an robust toolset for import and fast playback any kind of vertex animation .

    Key features:

    ♦ Verified capability with 3ds Max, Cinema 4d, Maya, Blender, Marvelous Designer
    ♦ Included custom scripted vertex animation exporter for 3ds Max and Cinema 4d
    ♦ Up to 8 independent, weighted Point Cache clips
    ♦ Smooth playback with sub-frame interpolation
    ♦ Low CPU usage, shared animation data
    ♦ Full C# source code included, no dependencies
    ♦ Mobile and WebGL ready, runtime import
    ♦ Works on 5.3 and above (tested with 2017.3, 2018.1, 2018.2)
    ♦ Supports up to 4 billion vertices (2017.3 or newer)
    ♦ 7 demo scenes included
    ♦ Weighted normals recalculation, flat shading effect
    ♦ Range of importing, change frames count
    ♦ Motion smoothing, normalize motion speed
    ♦ Clips looping with ease
    ♦ Transfer motion from one mesh to another
    ♦ Constraint Transforms to surface
    ♦ Detailed documentation

     
    Last edited: Feb 8, 2019
  2. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    some screenshots
     
  3. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    719
  4. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    901
    Hi There
    Just had a go with the your system but I have a couple of doubts on its more general use. In my game I have the need for a few objects to change during the game, think Great Giana Sisters, so I tried your system and just for one of the objects in the scene and nothing else the memory use went from 3MB to 400MB and the app size went from 20MB to 150MB just for one object, So is there a way to optimize that at all? I am using another point cache system at the moment and for the same quality of animation that you system adds 400MB the other point cache system adds only 3.5MB.

    It seems like you are making a whole new mesh for every frame of the point cache which to me seems like a massive waste of memory, if I have a mesh with 2 sets of uvs, tangents etc the memory use will be crazy or am I missing something?

    Does this also allow blending between different point cache files? And does it work with skinned meshes at all?

    And one final question it doesn't seem to respect smoothing groups, I had a test cube where each side has a different material but 3 connected sides are in the one smoothing group and the other 3 each have their own, so the cube should look sharp on some of the edges but smoothed on others but it just comes out all sharp when played back. Is there a fix for that.

    I would say that this really is of little use to people due to its massive memory use, especially for mobile users. I understand the version I have is a beta version, which seems to have been removed so maybe these issues have been addressed in the asset store version?
    Mike
     
  5. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Hi, thanks for the review. It is already on Asset Store .

    Yes, it uses a lot of memory because it's cache.
    I will try clarify purpose of my implementation of point cache.
    If you do not want to use memory at all, you will must to stream frames data directly from disk. Each instances of animation will need own reading stream.
    If you want subframe interpolation or blending animation you will must reacalculate normals and tangents on runtime on each instance, every frame.
    And this case it would be more correct to call this tool "frame-by-frame morphing", not the cache, is not it?
    In fact, the only purpose point cache is speed. It is for this cache should store all data in memory, which would then play them with no load on the CPU.

    I have no exact formula for calculating the required memory, but there is data of my examples.
    flower : 9780 triangles, Normals, Uvs, Length : 100frames, memory usage ~ 26mb.
    torus : 4096 triangles, Normals, Uvs, Tangents, Length :60frames, memory usage ~ 13mb
    flag: 1470 triangles, Normals, Uvs, Length : 60 frames, memory usage ~ 2.1 mb

    Skinned meshes NOT supported.
    Second UV not supported.
    Mike, please send me your cube. Smoothing groups must work fine, i tested it many time.
     
    Last edited: Oct 8, 2014
  6. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    901
    The other system I am currently using has the data cached in memory but allows subframe interpolation, works on skinned meshes, can blend between cache files, supports multiple uv's and is multi threaded and as I said takes up 1 percent of the memory of this system for almost identical results. It just seems that the cost of 26mb for say your flower example is a cost mobile developers aren't going to be happy with, by the time you have say 4 or 5 simple animated objects in your scene you app is going to already be over 100mb without anything else. I liked the look of your system but it would be impossible for me to move what I have over to you system as I think on a rough calculation on one of my levels the memory use would go from 40MB to 6GB just for 15 different objects each with a 100 frame animation in Max.
     
  7. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    As I said, I am sure that the cache is needed only that would play the animation, and not to create or modify it. If you do not agree, then we can discuss it in a separate topic.

    I dont understand which an 6gigabytes you are talking about. How much million vertices you are try to animate?

    There is 4 different flag In my example scene (they have 600, 630, 800, 1100 vertices) .
    Each has 60frames animation. In camera frame living 100 instances of theirs . Whole scene memory usage
    VRAM 24-32 mb,
    VBO 9 mb,

    450k triangles,
    430 drawcalls,
    160 fps at Nvidia GTX550.

    Screenshots of profiler :





     
    Last edited: Oct 8, 2014
  8. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Here is demo build for Android. Video captured from cheap android device (< 100$)

    apk file
     
    Last edited: Oct 27, 2014
  9. kilik128

    kilik128

    Joined:
    Jul 15, 2013
    Posts:
    880
    is on asset store ?
     
  10. econstud

    econstud

    Joined:
    Nov 10, 2015
    Posts:
    2
    does it work with Unity 5?
     
  11. sadsa

    sadsa

    Joined:
    Mar 2, 2014
    Posts:
    2
    Is the unity vertex duplication not a problem? Does this work with complex meshes?
     
  12. splashy

    splashy

    Joined:
    Aug 5, 2008
    Posts:
    9
    PC2Unity Stopped working. I have used this plugin successfully for quite a while however it seems to have stopped working. Now when I import pc2 files that were previously working Unity gives me a, IOException on path error. I'm not sure wants; going on bit I really could do with a fix :(
     
  13. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    Can use with unity version 5.0?
     
  14. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    Why have ploblem with face object?I use unity 5.
    Error is (UnassignedReferenceException: The variable MF of pc2unityController has not been assigned.
    You probably need to assign the MF variable of the pc2unityController script in the inspector.
    pc2unityController.Update () (at Assets/Pc2unity/Scripts/pc2unityController.cs:55))

    Link Img https://goo.gl/tuYWGY


     
    Last edited: Feb 13, 2016
  15. MikeUpchat

    MikeUpchat

    Joined:
    Sep 24, 2010
    Posts:
    901
    Cant see your image.
     
  16. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    upload your images in http://imgur.com/
     
  17. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    Ok,Thank for web upload.I dont know with problem.

     
  18. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194

    it is seems like turning on "optimize vertices" toggle when export obj. Disable it.
     
    Circlenumber likes this.
  19. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    Thank you.Now is OK.:) And when import many obj I will close window plugin every import it.
    It is very convenientifthesegment.
     
    Last edited: Feb 17, 2016
  20. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    Can I play back with plugin?Now have only (Once,Loop,PingPong).
     
  21. FDD_Dan

    FDD_Dan

    Joined:
    Sep 25, 2015
    Posts:
    4
    It don't work with some objects, it freezes at building mesh vertices: 6160 and gives this error :
    ArgumentOutOfRangeException: Argument is out of range.
    Parameter name: index

    Any idea why?
     
  22. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    plaese send output log to polyflow3d@gmail.com
     
  23. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  24. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Pc2unity 2.0 already in Asset Store!
    http://u3d.as/TB7
    Old customers can upgrade for free!
     
    Last edited: Jul 26, 2017
  25. Circlenumber

    Circlenumber

    Joined:
    Aug 5, 2013
    Posts:
    19
    I have problem.Model is -scale. P2.jpg P1.jpg
     
  26. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Some features of the upcoming release!

    1) Support for Mesh Sequences
    2) brand new optional Hard-Edge method normals recalculation.



    This demo show interactive cross section of compressor. Compressor body is a sequence of 100 meshes. Each springs and belt has 10 meshes(frames) All meshes of this scene imported via pc2unity .

     
    Last edited: Oct 7, 2018
  27. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    719
    Great stuff.
     
    polyflow3d likes this.
  28. rosssssss

    rosssssss

    Joined:
    Jan 27, 2017
    Posts:
    25
    Hello... we've just bought your plugin but ... can you explain if there's any special method to export the .OBJ and .PC files from Maya? Also is there a detailed manual somewhere that i can't see or is it just the quick start guide? Thanks.
     
  29. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Hello use this command to convert to pc2

    cacheFile -pc2 0 -pcf "d:/path/to/file.pc2" -f "cache" -dir "d:/path/to_mc_file/" -format "OneFile";

    Export the obj file as usual
     
  30. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Here's a Vertex Animination Tools teaser
     
  31. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  32. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  33. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  34. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  35. holdingjason

    holdingjason

    Joined:
    Nov 14, 2012
    Posts:
    92
    Purchased product and looks great. Any chance we can get access to the original sail obj and pc2 files for the sail demo? We are trying to also use this to understand how the basics would be built in say Maya or whatever was used originally? Thanks that would be a big deal.
     
  36. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Sure
    Here is Sail0 sources - obj, pc2, 3dsMax 2010 scene (no plugins needed)

    https://drive.google.com/open?id=17HYnozYLJpRk02Ffsk8QgrzixqTN1COJ

    Feel free to ask for any other sources!
     
  37. holdingjason

    holdingjason

    Joined:
    Nov 14, 2012
    Posts:
    92
    polyflow3d likes this.
  38. holdingjason

    holdingjason

    Joined:
    Nov 14, 2012
    Posts:
    92
    Thanks was able to port that into Maya and see the cache. However I "think" we are missing the animation data is that in the Max file perhaps or a separate file that was missed/not included? Thanks a ton.
     
  39. holdingjason

    holdingjason

    Joined:
    Nov 14, 2012
    Posts:
    92
    Will try loading it into max and taking a look at how it was put together in there if that is the case.
     
  40. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Max file has object Sail0Lod0 with two Cloth modifier (Wind and Hoist) with cached simulation on it. Enable one of them to dispay simulation animation.
     
    holdingjason likes this.
  41. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Last edited: Feb 8, 2019
  42. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Version 3.1 feature: Transition
     
  43. unity_HJ-OXMim-BzT7g

    unity_HJ-OXMim-BzT7g

    Joined:
    Feb 15, 2019
    Posts:
    2
    Is it possible to use this product for Quake 1 style character animations and is it expedient way of doing it? It should be possible if there is option to disable interpolation in Point cache player. If not, then should I use Mesh sequence player, is there anything which makes it unable to do character animations?
     
  44. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Mesh Sequence Player (MSP) supports non-manifold sequences (with different vertex count) and supports vertex color effects (AO, Cavity). For example you can play characters fragmentation - detaching head, legs itc. I think it expedient way to use MSP, if you absolutly no needs interpolation.
    Also MSP allow compress frames strongly than Point Cache Player.
     
  45. cmorait

    cmorait

    Joined:
    Nov 22, 2017
    Posts:
    58
    I would like to ask if it is compatble with C4D R20 and if you have playmaker actions to control it in unity.

    Also are there any video tutorials from C4D.
     
  46. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Hello. VAT can use as source pc2 files and obj sequences. In package included custom c4d python script for exporting .obj files sequence. It was tested on r18. You can try this script for free. Also you can provide me resulting sequence then i import it to unity using VAT and show you result video.

    UPD: here is export from c4d tutorial
     
    Last edited: Feb 18, 2019
  47. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
  48. cmorait

    cmorait

    Joined:
    Nov 22, 2017
    Posts:
    58
    It can not export the obj files. It gives 1 kb obj files.

    You can download the exported files here. https://we.tl/t-F5gCU5d0ar

    I animate an object with bend modifier. Then baked in the timelime.
     
  49. polyflow3d

    polyflow3d

    Joined:
    Oct 6, 2014
    Posts:
    194
    Animated object should be selected. Please try again with selection.
     
  50. cmorait

    cmorait

    Joined:
    Nov 22, 2017
    Posts:
    58
unityunity