Search Unity

  1. We want you to join us at GDC this year! Take a peek at all of the events we will be hosting during the week of GDC.
    Dismiss Notice
  2. Tell us about your experience here and you’ll get early access to the 2018 Game Studios report + more goodies.
    Dismiss Notice
  3. Unity 2017.3 has arrived! Read about it here.
    Dismiss Notice
  4. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice
  5. We've closed the job boards. If you're looking for work, or looking to hire check out Unity Connect. You can see more information here.
    Dismiss Notice

VertExmotion [Released]

Discussion in 'Assets and Asset Store' started by kalagaan, Oct 30, 2014.

  1. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540

    I didn't tried Megafier Wrap, but it works CPU side, so it should be compatible with VertExmotion :)
    1- Megafier wrap modifies the mesh
    2- the new mesh geometry is sent to GPU
    3- VertExmotion shader applies its deformations before the last rendering step
     
  2. jellybit

    jellybit

    Joined:
    Nov 21, 2009
    Posts:
    32
    I know this probably seems silly, but the only thing holding me back from buying this is your squash and stretch demo. That was something I really wanted out of this, so I was excited to see someone asking you about it, and you responding with a demo. However, the demo only shows stretch, which doesn't convey the feeling squash and stretch is meant to convey.
    [​IMG]
    The stretch conveys the pull downward/launch upward. You actually have stretch in your demo (it's more of a tail than stretch, but close enough), but the issue is that it's always in stretch mode. There's squash at the landing before launching upward again, and when the ball starts to hang in the air before the direction change, it returns to something close to normal shape. This helps tremendously to communicate weight and energy (both potential and kinetic). It does a great job at breathing life into inanimate objects.

    I'm sorry, this isn't a critique of your attempt at squash and stretch, but this is something I'd like to apply to pretty much any object in my games, and it would be wonderful to do it in a shader. Is Vertex Motion what I should be looking into?
     
    Last edited: Sep 22, 2015
  3. jellybit

    jellybit

    Joined:
    Nov 21, 2009
    Posts:
    32
    Another question. If I update a model with some adjustments (including maybe some new vertices), will it lose my Vertex Motion vertex painting? Will it require that I go through that process again if my model additions had nothing to do with the parts that are affected by Vertex Motion?
     
  4. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    Yes you're right, I have to work on this demo.
    I think I could add an additionnal script to control the deformation on collisions.
    I'll try to make a better version this week. ;)
     
  5. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    The painting data are stored into the mesh, so if you change the model, you'll have to paint it again.
    But if you paint the weight on a texture you can easily import it.
    Most of the time, you can paint all the mesh: each sensor will only move vertices in its range.
     
    Last edited: Sep 22, 2015
  6. jellybit

    jellybit

    Joined:
    Nov 21, 2009
    Posts:
    32
    That would be incredible. I look forward to it! I mainly just want to know if you think it's possible. Can I see what your current demo script looks like? I want to understand how to use the shader for this kind of thing, and since you feel it can be used for this, I can probably figure out how to do the rest based on what you have. I'm just afraid to buy it to figure out how to control it and find that it doesn't work the way I think it would.


    Ok, so I was using vertex colors to color my meshes in the game. Does this mean I can no longer do that? I can probably change my approach, but I always liked to use a combination of vertex colors and textures. Thanks a lot for the clarification.
     
  7. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Yes it's possible, but I have to find a better way to do the deformation in the shader.
    The VertExmotion sensors compute motion data using parameters and send them to the shader.
    So you can modify some parameters with custom components.
    ex : m_sensor.m_params.inflate = Mathf.Sin(Time.time);
    Note : In current version Squash/stretch function are only available on shader model 3.

    I use vertex color as a mask, but I can easily do a alternative function that only check sensor range.
    Only the green component is used in current version, so you could paint your mask in your 3D program by using the alpha channel, and change VertExMotion mask from green to alpha.
     
    Last edited: Sep 23, 2015
  8. jellybit

    jellybit

    Joined:
    Nov 21, 2009
    Posts:
    32
    I bought it, and I really look forward to seeing how you approach squash and stretch. Thank you for answering my questions so quickly and offering helpful suggestions. I can't wait to play with it.
     
  9. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Thank you :)
    you can send me more informations about your project (contact@kalagaan.com)
    Sometime it's easier to work with specific models :)
     
  10. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    I've done a modification that change how react physics with softbody objects.
    The default physic simulation don't care about energy stored when a softbody collide something.
    Now, I store energy when the softbody object start a collision, then I deform it, and I restore the velocity.

    here a WIP demo
    still need work, but I'm close ;)
     
    hopeful likes this.
  11. jellybit

    jellybit

    Joined:
    Nov 21, 2009
    Posts:
    32
    Nice! I see what you're doing there. Very cool. I have some ideas on how to get the right look when you start communicating velocity through stretch, and look forward to seeing how you approach it. It's going to get tricky at the point that the ball meets the floor when those two parts are combined. If you wanna talk about that, feel free to message me. I'm an animator, but I'm also a programmer to some extent.
     
  12. strongbox3d

    strongbox3d

    Joined:
    May 8, 2012
    Posts:
    471
    Hello kalagaan,

    I would like to buy your asset but I have a couple of questions:

    I am working for Xbox One, did you made the asset compatible with Xbox One?
    What is the difference between the simple and the pro version?

    Regards,
    Carlos
     
  13. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi Carlos,
    Some developpers already use it for their XBOX One projects.
    Here the difference between BASIC and PRO ;)

    [​IMG]
     
  14. mohoyoyo

    mohoyoyo

    Joined:
    Apr 14, 2015
    Posts:
    9
    Hi there, I've purchased your shader in order to do a simulation with breats, not a joke.
    I need to do a demo with hands touching breats, maybe for a future porn-game or maybe serious-game, honestly I don't care, but have to admit that is a funny project to work on.
    I can paint the vertex and get the jelly effect, but totally unsuccessfully with collisions. What I need is proper collisions and deformations with fingers.
    Somebody has alredy try that? can I have some support?
    Regards
     
    Johannahe likes this.
  15. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    There's 2 examples about the collision system in VertExmotion package.
    Here a demo
    Have a look at the documentation, there's a section about the collision system setup.
    If you need a specific support or if you have issue with your project, send me an email with your invoice number to contact@kalagaan.com
    I'll help you ;)
     
    Last edited: Oct 20, 2015
  16. Johannahe

    Johannahe

    Joined:
    Jan 31, 2015
    Posts:
    13
    Is there a way to hook the motion to individual bones? I would need that to simulate body fat movement.
    Thank you.
     
  17. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Yes, you can hook sensors to any transform object.
    Drag and drop the bone in to the parent slot in VertExmotion UI :)
     
    Johannahe likes this.
  18. mkgm

    mkgm

    Joined:
    Apr 10, 2015
    Posts:
    134
    Hello kalagaan,
    I watched the video demos of your asset and looks great!!!

    I would like to know if your asset would work with "Edy's Vehicle Physic (EVP)" wheels.
    EVP use "wheelColliders".

    Thanks for your great asset.
     
  19. indeego

    indeego

    Joined:
    Nov 12, 2012
    Posts:
    1
    Hi, thank you :)
    VertExmotion is applied on GPU side, so it's compatible with other plugins using physics ;)
    I didn't tried EVP, what kind of Fx would you achieve?
    You can send me more informations about your project : contact@kalagaan.com
     
  20. vjroba

    vjroba

    Joined:
    Apr 28, 2015
    Posts:
    1
    Hi,

    I am trying VertExmotion and found it is very nice.
    I love it.

    Anyway, is there anyway to change amount of morph by direction?
    https://t.co/bEliPmsTo5
    I want make this hip morphs big toward up, down, right and left,
    but not morphes toward front and back.
    Is it possible?

    Thank you.
     
  21. Evil_Weevil

    Evil_Weevil

    Joined:
    Oct 25, 2013
    Posts:
    11
    Very nice stuff.
    Does it work in 2D?
     
  22. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Sorry I didn't see your post :/
    You can add custom forces (local or world) to the sensor.
    So you can create your own motion system in a script and update the parameter :
    mySensor.m_params.translation.worldOffset = customWorldForce;
    The custom force will be apply to the shader by VertExmotion script.
     
  23. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Thank you,
    unfortunatly VertExmotion doesn't work with sprites.
    But it could work, I'll do some research ;)

    Edit : Good news! VertExmotion will work with SpriteRenderer :)
    I'll add the feature in 1.3.6
     
    Last edited: Jan 31, 2016
  24. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    VertExmotion 1.3.5 coming soon !
    new compatibility with Shader Forge :)
     
    punk and hopeful like this.
  25. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Good news! VertExmotion will work with SpriteRenderer :)
    I'll add the feature in 1.3.6
     
    mkgm and hopeful like this.
  26. AlpayKasal

    AlpayKasal

    Joined:
    Aug 4, 2014
    Posts:
    26
    Kalagaan, really great work! I'm in love with this... it works so simply, how did I miss in it in the past? A huge thumbs up to you!

    ok, so I have a question... something weird just started happening to me. I closed unity (5, free, osx, and I just bought vertexmotion today) and the project I created earlier (has 8 instances of a female object with separate sensors on each, 1 sensor per duplicated object). all good. when i reopened the project, I could never really get too close to the objects, it looks like camera culling or clipping planes, like when you get too close to an object and the vertex's start to disappear, but I am far away. I'm def in scene mode, i didn't change any prefs, and not looking through a camera. Also, maybe related, it looks like my previously painted lady object lost her painted state - no more jiggle but the component is there and with all correct settings. and now that I can't get close to the female body, I can really repaint her.

    have you seen this before? any ideas? Thanks in advance.
     
    Last edited: Feb 17, 2016
  27. AlpayKasal

    AlpayKasal

    Joined:
    Aug 4, 2014
    Posts:
    26
    one more hint... when I click the paint brush icon or the sensor icon, my view zooms out and the problem i mentioned happens. with i click the "i", looks like an icon for info, i'm close up to my object again.
     
  28. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    thank you, I'm happy that you love it :)

    Unity keeps the paint information in the model, but when you reload the project, fbx information are restored.
    You have to export painting data :
    - Go to the paint tab
    - Enter a template name
    - "Save as new Mesh"
    Now painting data won't be lost when you reload the project.
    VertExmotion create a copy of the mesh in your project.
    You can create differents templates and load them into the "Import mesh" section.

    The painting system require an orthographic camera, so the tools switch between 'Persp' and 'iso' in the scene view.
    You can switch the mode by clicking on the cube in the middle of the XYZ axis (top/right of the scene view), when VertExmotion panel is hidden.
    Try to press 'F' to center the camera, it should fix the clipping plane issue in 'iso' mode.
     
    hopeful likes this.
  29. AlpayKasal

    AlpayKasal

    Joined:
    Aug 4, 2014
    Posts:
    26
    dude, thank you Kalagaan. All works great! Now I'm really getting ideas for blobby demented gross VR experiences.

    I read the part about the template in the docs, i should have read more closely though :)

    And thanks again on the part about switching to ortho view, that did the trick.
     
    kalagaan likes this.
  30. mohoyoyo

    mohoyoyo

    Joined:
    Apr 14, 2015
    Posts:
    9
    I've a kind of issue in the last versions of Vertexmotion and Unity 5.3.2p1. I can't see the Colliders-red-ball, am I doing something wrong?

    Regards
     
  31. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    I've checked on 5.3.2 and 5.3.3, collider zones are visible.
    Check this :
    - you have to add one or more collision zone to see the collider zone handle.
    - 'Collider settings' must be opened in the sensor panel.

    If you have trouble, send me an email : contact@kalagaan.com
     
  32. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    More tricks about the VertExmotion physics :
    - don't forget to add a physics layer to the collider ( default is 'nothing' )
    - If the gameobject with the vertexmotion component has a physics collider, set its layer to a different layer to avoid self collision.
    - the sensor orientation is important, it must look at the outside of the gameobject.

    I hope this will help you ;)
     
  33. mohoyoyo

    mohoyoyo

    Joined:
    Apr 14, 2015
    Posts:
    9
    Thanks a lot for the quick answer Kalagan, you were right, you need to expand the collider settings in the script to be able to see the red speheres instead of selecting them in the Hierarchy tab.

    About physics I'm getting really weird reactions, the VMColliders are spheric but the keep the orientation of its sensor, I mean for example in my Breasts-Demo, if I touch the breast in the left/right side, close to the meridian, the sensor doesn't know if you are touching from front or behind. I've tried to add more colliders but I still have the same result 'cause all of them keep their orientation. See attached image.

    Edited: I've tried also to add another sensor to the left Breast which aims in the opposited direcction of the capsule which touchs but Unity crash!! :S

    Thanks a lot in advance.
    Regards
     

    Attached Files:

    Last edited: Feb 24, 2016
  34. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Try to set the sensor orientation to the outside of the mesh (blue handler in sensor settings), it should fix this :)
    If it doesn't work, could you send me a package with your settings by email?
     
  35. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    VertExmotion 1.4 coming soon !
    - SpriteRenderer support ( demo here )
    - better physics ( thanks mohoyoyo ;) )
     
    mohoyoyo and hopeful like this.
  36. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
  37. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    [​IMG]
     
    hopeful likes this.
  38. Katzelschnurr

    Katzelschnurr

    Joined:
    Mar 25, 2011
    Posts:
    11
    YES! You timed that Sprite feature just perfectly! Thanks a lot, works very well so far!

    Is there a way to set up the sensors so that the volume of the object is somehow preserved? my stretched objects usually look quite large, while the squashed objects just get smaller.

    and another question:
    I my case i have a jelly like ball. I distributed 4 sensors on the border of the sprite and played around with the values until i got a reasonable result.
    Is there a better way for this use case? 4 is ok, but more are apparently not possible on mobile
     
  39. Katzelschnurr

    Katzelschnurr

    Joined:
    Mar 25, 2011
    Posts:
    11
    @ squash & stretch: something like shown in this video
    (in my case its only 2d)
    sorry if thats a stupid question i am not aware of technical limitations of your solution, but that inflate parameter in your sensors just looks like you could do something like that
     
  40. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    You can change the sensor limits to control deformation, could you send me a sample by email?

    The mobile limit is set to 4, but you can change it to 8 in "VertExmotion.cginc", I think it should work.
    You'll still have the warning message in the sensor panel.
    I've locked it for compatibility with future versions, because shader model 2 are limited in the number of instructions.
     
  41. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Yes I could do more complexe deformations, but I want to keep the system simple.
    I'll probably do an advanced mode for sensors for more FX and options :)
    I'll try to transfert some features from PolyMorpher to VertExmotion.

    But now I'm working on 5.4 compatibility.
    You'll have to download VertExmotion from the assetstore with 5.4, because some shader functions have changed and break the current version.
    But no worry, I'll post the fix before unity 5.4 release ;)
     
  42. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    2,654
    I just discovered this today and am very interested in the possibilities, especially for hair. I see as I read through the thread that I'm not the only one looking for a hair solution. Do you have a demo of this for hair on an animated character?
     
    hopeful likes this.
  43. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    Vertexmotion works nice on short hair, here the characters demo : http://www.kalagaan.com/?p=VertExmotion&demo=2
    For long hair, you could use VertExmotion as a secondary animation, the main movement should be done with bones.
     
  44. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    2,654
    Thanks. Looks pretty good.
     
  45. mohoyoyo

    mohoyoyo

    Joined:
    Apr 14, 2015
    Posts:
    9
    Hi there and sorry for the late unswer, great job with the update kalagaan!!!! now works perfect. This asset rocks!!!
     
    kalagaan likes this.
  46. Kagyu

    Kagyu

    Joined:
    Mar 5, 2016
    Posts:
    32
    Hello Kalagaan,

    Could you tell me the difference between Vertexmotion and Vertexmotion Pro, please?

    Thanks,
    Gen
     
  47. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi Gen,

    [​IMG]
     
  48. Kagyu

    Kagyu

    Joined:
    Mar 5, 2016
    Posts:
    32
    Kalagaan,

    Got it! Thank you!
     
  49. flyingaudio

    flyingaudio

    Joined:
    Dec 3, 2010
    Posts:
    57
    Kalagaan,
    I am finally loading up your asset to start using it today, and I am getting an error for:
    SetVectorArray in two places in VertExmotionShare.cs.

    I am using Unity 5.3.4p3, 5.4 beta won't work for me yet.
     
  50. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    540
    Hi,
    Unity 5.4 shader API changed, SetVectorArray doesn't exist in 5.3.
    You have to download VertExmotion from the assetstore with your current version of unity.
    I've uploaded the 2 versions on the assetstore.
    You can't switch between these versions without downloading the package again :(
     
    hopeful and chelnok like this.