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

VertExmotion [Released]

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

  1. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    it works with Post Processing Stack v2 if the mode is set to 'Multi Scale Volumetric Obscurance' ;)
     
    hopeful and Hazneliel like this.
  2. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Yes, I've submitted a fix to the asset store.
    it will be available soon (version 1.8.4) ;)

    If you want a fix before the release, please send me your invoice number (contact@kalagaan.com)
     
    Last edited: Jan 8, 2019
    Fabi88 likes this.
  3. dragonety

    dragonety

    Joined:
    Oct 30, 2018
    Posts:
    1
    The same problem, can't see collision zone.
    Can you tell me the approximate release date of 1.8.4?
    And, it kept saying "NullReferenceException: Object reference not set to an instance of an object Kalagaan.VertExmotionEditor.DrawBrushMenu()" when I open the setting(even the demo)
    VertExmotion 1.8.3
    Unity 2018.3.0f2
     
  4. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    The version 1.8.4 should be available today or tomorrow, it depends on the unity assetstore team.
    If you have the basic version, you have to delete the C# files from "VertExmotion/Core/Editor", this files have been deleted in 1.8.4.
     
    Fabi88 likes this.
  5. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    I still can't get it to work. Any thoughts?

    ss-vertexmotion.gif
     
  6. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
  7. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    Thanks, but my material is still pink.
    ss-vertexmotion-2.gif

    Never mind, got it working now. Had to updated to HDRP 4.6.
     
    Last edited: Jan 9, 2019
    hopeful and kalagaan like this.
  8. h00man

    h00man

    Joined:
    Apr 17, 2017
    Posts:
    54
    hey,
    im using toony colors shaders for my character.
    but i have no idea how to add vertexmotion to toony colors shaders.
    in fact i don't know anything about writing shaders.
    can you please make a video tutorial on youtube about adding your functions to custom shaders?
     
  9. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    There's some samples in the documentation ;)
    If you still have issues with the VertExmotion integration, please send me an email (contact@kalagaan.com)
     
  10. supneo

    supneo

    Joined:
    Jul 29, 2012
    Posts:
    32
    Hello, @kalagaan the latest version supports high-quality models of daz studio? , tested the version 1.7.1 and when trying to paint in quality models it does not paint, in more basic models if it works, thanks.
     
  11. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    I tried to paint on a genesis 8 model, it works as expected.
    If you have problems with a specific model, please send me a fbx file (contact@kalagaan.com), I'll do somes tests ;)
     
    supneo likes this.
  12. supneo

    supneo

    Joined:
    Jul 29, 2012
    Posts:
    32
    Thanks, as I told you by mail and I bought it, thank you very much for advising me by mail :)
     
  13. OP3NGL

    OP3NGL

    Joined:
    Dec 10, 2013
    Posts:
    267
    hi guys, i was wondering if Final ik + vertexmotion = works?
     
  14. sencafe

    sencafe

    Joined:
    Jul 1, 2015
    Posts:
    2
    I can't get the VertexMotion to work with Shader Graph in Unity 2018.3.5f1.
    Also using HDRP version 4.9. VertexMotion nodes generate pink textures in the graph as well as on the material.
     
  15. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,476
    Hi, can I ask a question, will this asset be usable to make deformable tires, I see in the first post there was mention of it. Can it be used with a car controller? Thanks for any advise on this.
     
  16. YvetteHan

    YvetteHan

    Joined:
    Nov 8, 2018
    Posts:
    1
    I have the same issue, there're some shader errors, undeclared identifier "Use_Macro_UNITY_MATRIX_M_instead_of_unity_ObjectToWorld"
     
  17. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Yes, you can use VertExmotion with any IK system :)
    You'll have to set VertExmotion at the end of the script order list. The VertExmotion update must be done after the IK.

    Menu -> ProjectSettings-> Script Execution Order -> Add 'kalagaan.VertExmotion' at the end of the list.
     
  18. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    There was some weird modifications of the ShaderGraph tool, I've posted a feedback on the shader graph thread, but it's still not fixed in 4.9.
    I've made a fix on my side and I'll push it to the asset store. If you need a version before the release, please send me an email with your invoice number (contact@kalagaan.com). ;)
     
    Last edited: Feb 22, 2019
  19. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    There's a demo in the package with a tire deformation, you can modify the script for your project.
    If you have any issue with the integration, send me an email ;)
     
  20. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    I's a part of the weird modifications of the ShaderGraph tool...
    I've done a fix, with a subshader graph, it will be available soon on the assetstore,
    if you need a version before the release, please send me your invoice number (contact@kalagaan.com)
     
  21. Ryuuguu

    Ryuuguu

    Joined:
    Apr 14, 2007
    Posts:
    391
    I have tried to build the Jelly demo scene with Unity 2018.3.6f1, Xcode 9.4.1 and Vertex emotion 1.8.5 I get these errors

    WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader

    WARNING: Shader Unsupported: 'Standard' - Pass 'META' has no vertex shader

    WARNING: Shader Unsupported: 'VertExmotion/Standard' - Pass 'META' has no vertex shader

    WARNING: Shader Unsupported: 'VertExmotion/Standard' - Pass 'META' has no vertex shader

    The cube displays but is "broken" sharp distorted edges. IMG_0063.jpg
     
  22. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,476
    Hi,
    I am interested in buying this very nice looking asset, I have a question, with the Basic version can I access softbody properties at runtime?
     
  23. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    I did somes tests with this version of Unity, and I didn't have this kind of problem,
    could you try to reimport the VertExmotion folder?
    You could also try to reimport the package from the assetstore inside unity, there's different versions of the package according to the unity version.
     
  24. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Yes, you can access to the sensor's parameters at runtime :)
    There's many samples in the package.
     
    khos likes this.
  25. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Hey kalagaan.

    Does VertexMotion recalculate the normals accordingly when it deforms the meshes?
     
  26. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Hi,
    yes, the normal is recalculated by the shader, there's a parameter for smoothing between the original and the new normal.

    Note : It doesn't work with ShaderGraph because the normal can't be overrided in the vertex program.
     
  27. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Is there a demo or a video with the recalculated normals? The video on the assetstore page don't show the recalculated surfaces.
     
  28. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Here a sample of a tessellation shader with normal correction

     
    syscrusher likes this.
  29. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Nice. Is that hole controllable from an outside transform like a gameobject or is it texture based? Also does it work with skinned meshes as well as shader forge?
     
  30. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    In, this demo the sensor is locked on another gameObject,
    its position is define by a raycast on the sphere.

    It works with MeshRenderer and SkinnedMeshRenderer ;)
    There's a sample of the shader forge integration in the documentation, but I didn't add the normal correction function.
    You'll have to add the normal and the tangent :
    float3 VertExmotionSF(float3 wrldXYZ, float wrldW, float3 col, inout float3 n, float3 t)

    I'll update the documentation :p
     
  31. Cactus_on_Fire

    Cactus_on_Fire

    Joined:
    Aug 12, 2014
    Posts:
    675
    Thanks dude. I'm assuming I have to modify the shader I made with shader forge a little. I assume they work both with deferred and forward shaders.
    And what's the difference between the basic and pro version?
     
  32. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    VertExmotion is applied in the vertex program, so if your original shader works with deferred and forward, it will work ;)
    Here the documentation

    the basic version includes a DLL, the pro version includes all the source code.
    All the features are included in the Basic version, so you can start with the basic and upgrade to pro later if you need it ;)
     
    Last edited: Apr 9, 2019
  33. akuei2

    akuei2

    Joined:
    Oct 17, 2018
    Posts:
    69
    Hi, one question please ...
    How about vertex motion compatible with custom lux/lux plus shader ?
    Easy by manually?
     
  34. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Yes these shaders are easy to convert :D
    I did a quick test with the free version, I've added 2 lines to the original shader ;)
    Here the VertExmotion documentation (p11)
     
    Last edited: Apr 10, 2019
  35. akuei2

    akuei2

    Joined:
    Oct 17, 2018
    Posts:
    69
    Thank
     
  36. michelhabib

    michelhabib

    Joined:
    Mar 12, 2012
    Posts:
    20
    Dear Kalagaan,
    We have the Pro Version of VertexMotion.

    We understand that the scenes utilizing VertExmotion should be compatible with Samsung Galaxy S4 devices.

    We are working on an app which uses VertExmotion, and we should support S4, however it seems the VertExmotion effects do not work on S4 for our character.

    We applied some investigations to prepare more info about the issue, and below are our findings:

    Experiment 1:

    - Idea: Create an empty project with some Demo scenes created by VertExmotion, and check if they work on S4

    - Findings:

    o The "Dress" demo did not work on S4 (i.e.: the scene loads and plays, but the VertExmotion effect is not playing).

    o Same demo project works correctly in Unity and on a Samsung Note 5 device.

    o The "Character" demo worked correctly on S4 (having the girl dancing and the zombie walking). Also, the Jellyfish demo worked correctly.

    - Conclusion: Some demos work on S4 and some don't.

    Experiment 2:

    - Idea: Try the VertExmotion with our model (a sea-horse model) in an empty project.

    - Findings:

    o The sea horse vertExmotion doesn't work on S4 but works correctly on Unity and Note 5.

    o The unity package for this project can be downloaded from a link that I shared privately.

    Kindly let us know why isn't the VertExmotion working on our sea horse model on S4 only (and not working on the Dress demo as well)?
     
    Last edited: Apr 11, 2019
  37. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    There's some limitations with old devices that doesn't support shader model 3.0

    - the number of sensors per mesh is limited -> SM2.x : 4 sensors / SM3 : 20 sensors
    - Normal correction doesn't work with SM2.x
    - Sensor's link doesn't work with SM2.x ( this is the feature used for the dress demo )

    So if you want to use a shader SM3 for some devices, the shader must have the line
    #pragma target 3.0

    and it must have another vertexmotion shader fallback for older device
    #pragma target 2.0

    The shader used for the dress demo didn't have a VertExmotion compatible shader for the fallback, that's why there was no animation on S4.
     
  38. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,202
    @kalagaan

    Hi. I installed Unity 2019.1.0f2. When I install your latest VertExmotion, install VertExmotion_ShaderGraph_4_Nodes, and try to add your node in Unity's Shader Graph (5.7.2), when I right-click and select Create Node, the window does not show up to select a node. As soon as I delete VertExmotion it works again. Maybe it needs updated VertExmotion nodes?
     
  39. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Unity has broken the Shader graph custom node system... :confused:
    So VertExmotion won't work until unity provides a documentation about the new 'custom node' for shaderGraph 5.13

    More info here
     
  40. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    I finally managed to make it work :D
    according to a node sample posted today,
    good timing! :p

    I'll push a new version soon with a new package for ShaderGraph 5.13 ;)
     
  41. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    There's a bug in some versions of Unity 2018,
    the VertExmotion DLL is not properly serialized with IL2CPP.
    So it could generate some weird bugs when building an app.

    It has been fixed in unity 2018.3.13 and it also works with unity 2019.1 :)
    The pro version is not affected by this bug.

    I've updated the package for shadergraph 5.13 on the assetstore, it should be available soon.:)
     
  42. Lawina

    Lawina

    Joined:
    Feb 28, 2019
    Posts:
    21
  43. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    Yes, you can use VertExmotion with Toony Colors Pro 2.
    You'll have to modify the shader manually, most of the time you'll have to modify this line :

    Code (CSharp):
    1.  
    2. #pragma surface surf ToonyColorsCustom addshadow fullforwardshadows exclude_path:deferred exclude_path:prepass vertex:vert
    3.  
    - Add 'vertex:vert' at the end

    and add theses lines :

    Code (CSharp):
    1.  
    2.         #include "Assets/VertExmotion/Shaders/VertExmotion.cginc"
    3.         void vert (inout appdata_full v) {VertExmotion( v );}
    4.  
    You should have a look to the documentation for converting shaders.
    If you have issues with the shader conversion I can help you.


    I'm also in touch with Jean Moreno for the compatibility with Toony Colors.
     
    Lawina likes this.
  44. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    TCP2 will include an option for the VertExmotion compatibility in its shader generator ;)
    No need to edit the shader manually :p




     
    schmosef and hopeful like this.
  45. Lawina

    Lawina

    Joined:
    Feb 28, 2019
    Posts:
    21
    That's awesome! Thank you!
     
  46. drewdough

    drewdough

    Joined:
    Oct 5, 2016
    Posts:
    49
    Hi,

    Is it possible to make the body jiggle and have the clothing deform as well? (e.g. booty bouncing)?

    I have tried to place a VertexMotion on both the body part + the clothing part, by sharing the sensor and then exporting the painting to texture from the body and then importing it into the shorts. The booty still bounces through the shorts.

    I think the problem is that when you import the painting, since they are 2 very different meshes (full body vs shorts), the painting doesn't match identical.
    I have tried painting by hand, but it still doesn't work.

    Another thing I've tried is using the Vert Exmotion Share script, and copying the Share Deformation sample.
    This also doesn't work - it crashes with NullReferenceException.
    Line 72 of VertExmotionShare.cs:
    m_meshRenderer.SetPropertyBlock( m_reference.m_matPropBlk );

    m_meshRenderer is null, because I'm not using a MeshRenderer - I'm using a SkinnedMeshRenderer. I'm not sure why the code behaves this way, as I'm setting all the properties in the right way from what I can tell. Does the Share deformation work with SkinnedMeshRenderer? I can see in the code it looks like it should support this..

    Thanks for any help!
     
  47. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    You should try to paint the softbody parts to full motion (red in gradient mode), you should use it more like a mask than softbody weights, because it's very difficult to generate the same weights for 2 different meshes.
    The sensor moves the vertices according to the distance from its center, so it will deform the body and the clothes with the same parameters if the weights are set to 1.

    Sorry there was a bug int the Share deformation script,
    here the fix of the lateUpdate function :
    Code (CSharp):
    1.      
    2. void LateUpdate()
    3.         {
    4.             if (m_reference == null)
    5.                 return;
    6.  
    7.             if (m_meshRenderer == null && m_skinMeshRenderer == null)
    8.                 return;
    9.  
    10.             //get shader properties from original
    11.             m_matPropBlk = m_reference.m_matPropBlk;
    12.  
    13.             if (newSensorsPos.Length != m_reference.m_shaderSensorPos.Length)
    14.                 newSensorsPos = new Vector4[m_reference.m_shaderSensorPos.Length];
    15.  
    16.             for (int i = 0; i < m_reference.m_shaderSensorPos.Length; ++i)
    17.             {
    18.                 newSensorsPos[i] = transform.TransformPoint(m_reference.transform.InverseTransformPoint(m_reference.m_shaderSensorPos[i]));
    19.             }
    20.             m_matPropBlk.SetVectorArray("KVM_SensorPosition", newSensorsPos);
    21.  
    22.             if(m_meshRenderer != null )
    23.                 m_meshRenderer.SetPropertyBlock(m_reference.m_matPropBlk);
    24.             if(m_skinMeshRenderer != null)
    25.                 m_skinMeshRenderer.SetPropertyBlock(m_reference.m_matPropBlk);
    26.  
    27.             //restore values of the original
    28.             m_matPropBlk.SetVectorArray("KVM_SensorPosition", m_reference.m_shaderSensorPos);
    29.  
    30.             if (m_copyDeltaPosition)
    31.             {
    32.                 transform.position += m_reference.transform.position - m_referenceLastPosition;
    33.             }
    34.  
    35.             if (m_copyRotation)
    36.             {
    37.                 transform.rotation = m_reference.transform.rotation;
    38.             }
    39.  
    40.             m_referenceLastPosition = m_reference.transform.position;
    41.  
    42.         }
    43.  
     
    Last edited: May 2, 2019
  48. drewdough

    drewdough

    Joined:
    Oct 5, 2016
    Posts:
    49
    Thank you for the response.

    I am trying to understand what you are saying.

    Can we break it into a few steps?

    Step 1) Add VertexMotion to my character fully body Mesh
    Step 2) paint the portion of the butt cheeks I want to giggle. Some of the brush will be red, but the outer edges are yellow and green and blue because it's not possible to make it ONLY red due to
    Step 3) Add the two sensors I need
    Step 4) Push play, you can see when the character moves, there's clipping through her pants
    Step 5) Add a VertexMotion to the pants
    Step 6) Go into paint mode. I pushed "Fill all layers" to make the pants ALL red
    Step 7) Attach to this Vertex Motion to the same 2 sensors I made before
    Step 8) push play - there's less clipping, but there's some still there. Why?

    What did you mean by "mask" what does it mean "weights are set to 1"? How do I set a weight to 1?

    Thanks again for your help!
     
  49. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,498
    That's the way to do it, but if the body and the clothes are really differents, or if there's not enought space between them, the faces of the meshes could overlap.
    Could you send me your character (contact@kalagaan.com) ? I could have a look to the settings.

    When you use the paint tool, you set a weight for each vertex (0: blue , 1: red), so what I mean by using it as a mask, is to set the moving parts to red and the static parts to blue. That's what you did ;)
     
  50. drewdough

    drewdough

    Joined:
    Oct 5, 2016
    Posts:
    49
    Thank you so much for your support.

    Yes, the clothing is fit snug to the body, but it does seem to mostly work, its just there still is some clipping in some places.

    I will email you shortly.

    Thanks again!