Search Unity

Physics Obi Particle Based Physics (Cloth, Rope, Fluid) thread

Discussion in 'Tools In Progress' started by arkano22, Jun 30, 2015.

?

Performance vs compatibility

Poll closed Oct 9, 2015.
  1. I don't care about performance, keep my data intact please.

    0 vote(s)
    0.0%
  2. I don't care if I have to re-do some stuff, as long as it runs faster.

    14 vote(s)
    100.0%
  1. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi Anders,

    "better" is a very broad term :). Numerically speaking, position-based dynamics is as good as it gets for realtime all-around wire simulation. It is unconditionally stable, extremely fast, versatile, and looks good (or at least, visually plausible).

    If you have specific suggestions of things that you feel could be improved, do feel free to share your ideas!
     
    theANMATOR2b likes this.
  2. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Well, a copper cable has very low plastic properties, I havent been able to get that with Obi, this is as good as I have gotten it. Lowered the resolution and lower the gravity



    edit: Because of the lower res you can see the blue cable clip the green connector thingy
     
    arkano22 likes this.
  3. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Well, 4.0's rod simulation should be able to simulate this quite well. The issue with the current rope model is that it does not model shear or torsion, which are required to be able to hold a given shape (let alone model plasticity). This is the method 4.0 will be based on:

     
  4. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Nice, cant wait!
     
  5. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493

    I discovered its actually a technical term, I'm sharing for others lol
    [removed video because I didn't realize there was another page lol]
    But one question, does this simulate the tendril perversion phenomena?

    Since you are at it, maybe you can have unofficial implementation of hair physics simulation ? lol
    I mean what's the difference? Especially if I can build a close to ground truth simulation of afro american hair :p
     
    Last edited: Mar 6, 2018
  6. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    It does couple torsion and bending, and does capture plectoneme formation, so it should be able to simulate tendril perversion. Haven't actually tried it, though, as I don't fully understand the requirements for this curious phenomena to emerge.
     
    neoshaman likes this.
  7. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    That's cool!

    It's not a phenomena terribly useful for game or even animation, it's more for academic curiosity. I'm personally interested because I tried to understand how to simulate, to understand, a type of hair in the absence of data and documentation. It has a huge influence in the appearance and behavior of that type of hair.
     
    arkano22 likes this.
  8. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Well, as you can imagine by now, Obi 4.0 will be centered around the concept of oriented particles. Particles will no longer be spherical, but ellipsoidal (they will have their own orientation and scale). This is a huge benefit both in terms of simulation and rendering.

    For ropes, this means torsion+shape matching as seen in the previous posts. Also better collision detection, as a single particle can now stretch in the direction of the rope for a tighter fit.

    For fluids, this means anisotropic particle kernels. Particles will change shape automatically to adapt to the fluid surface, avoiding the "blobby" look that generally plagues particle based simulations. Even with very few particles, fine tendrils and small drops will emerge. Pic time (I have reduced particle radius intentionally so you can see their individual shape):
     
    Last edited: Mar 8, 2018
  9. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @arkano22 I'm trying to figure out how to change your crane controller script to be toggled with a tree way physical lever/switch for VR using grab scripts rather than wasd input. I have a script I'll send you in a pm that is almost complete, I'm just trying to figure out how to replace/add your code so it can be controlled.
     
  10. MitchC

    MitchC

    Joined:
    Sep 9, 2013
    Posts:
    22
    Hi, a while back, you said that console (PS4, etc) support was on your roadmap. Has there been any progress on that?
     
  11. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Unfortunately not yet. We do want to devote ourselves to other platforms as soon as possible though. First we will add support for Linux (simply because it is pretty straightforward), then look into supporting consoles.
     
  12. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Last edited: Mar 22, 2018
  13. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    @arkano22 - Great to see the improvements! Please keep us advised of any price changes, new products, or bundles. :)
     
  14. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Now that a major hair asset has disappeared, do you plan to take on filling that void? I mean what's so different about particle simulation of string like objects?
     
  15. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hair is generally done using FTL (follow the leader), which guarantees inextensibility of strings that are attached at one of their ends (this is a very specific scenario and for this reason FTL is not generally used outside of hair simulation). It is also particle-based like our ropes, but dynamics are a bit different. Rendering is also quite different, for high-quality performant hair you cannot generate the mesh in the CPU like we do.

    Also we intend to fill other voids first, like actual soft bodies. These are not just balloons like the "soft bodies" simulated by ObiCloth. They do not require a manifold closed surface to work, and can be arbitrarily rigid: the whole range from rigid to soft, with plasticity support :)


    But we will look into hair, in case we can contribute something.
     
    Last edited: Apr 10, 2018
  16. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Well I need that for afro hair that's still hair lol :D

    BTW when I was saying hair, I wasn't talking about hairworks level of hair, just card type of hair like in existing game. But after reflexion, I guess the cloth is more than enough.

    I need a kind of hack for fast plausible curly hair rather than full simulation, basically I need some node to be simulated like "elastic ropes" (aka the "central core") and particle in an helicoid pattern that register collision and applied it to the "central core", they would be responsible for the shape of the hair which use an accordion type of folding on typical hair card. When the central core elongate, the card unfold, bringing the collision only particle closer to the axis of the central core, maximum length being when it's fully elongated.


    It use way less particles and collision, therefore it's faster but plausible enough for visual. Since there is no solution for any sort of curly hair in game, that would be a first.

    Can I do something like that with existing Obi solution? I mean I could use the particle simulation, read the data and draw the mesh myself on a script.
     
  17. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    Do you have any kind of wip images somewhere that visualize your usecase?
     
  18. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    What do you mean exactly? the simulation? the folded card hair to make curl?
    The simulation idea comes from pixar's brave's hair documentary on khan academy, the folded hair design is my invention but I don't have any image on this computer right now.
     
  19. Martin_H

    Martin_H

    Joined:
    Jul 11, 2015
    Posts:
    4,436
    I meant generally everything that would give people a clearer idea of the problem you want to solve and increase chances of you getting the info you need to finally solve this. I've seen you mention this repeatedly over a longer time frame, but I still don't have an image in my head of how your game looks currently and how you want it to look in the end.
    I doubt I personally could help even if I had a good idea of this, simply because this isn't my area of expertise, but I also doubt your post above has enough info for an expert in this to nudge you in the right direction, because the question is still too general.


    Have you tried asking this guy or looking if he explained the workflow somewhere?
    https://www.artstation.com/artwork/dgkv1
     
  20. Aaron-Meyers

    Aaron-Meyers

    Joined:
    Dec 8, 2009
    Posts:
    305
    hopeful, Martin_H and wetcircuit like this.
  21. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    For this you could use ObiRope's custom mesh render mode (introduced in 3.3). You can attach an arbitrary mesh to a rope, and it will be deformed following the rope curve. The mesh can even be non-manifold, any mesh will work. It works pretty much exactly as you described it. You can use a single mesh for the entire rope span, or you can repeat it N times along the rope, starting at any point and with any spacing/scaling. Here's a video, using a pretty dense helix mesh and a capsule mesh (both repeated multiple times along the length, with 0 spacing, spanning the entire rope)



    The only issue left is: how many individual hairs do you want to simulate? Do you need this to happen in realtime (then maybe it is not a good idea to model each individual hair/curl)? Also, note that rope still does not model torsion in its current state: you cannot control the hair's twist along its main axis, which can be a deal breaker for accurate styling.
     
    Last edited: Apr 12, 2018
  22. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    I'm already aware of that compo santo blog, they had the same struggle and same insight as me, but I'm further away than them, and they stopped at a rather early step I'm not fond about. Notice the hair is still nothing like the reference they brought up and close to nadine ross, which they had just dissed a few paragraph above.

    It would be a bad idea to simulate all hair of course, the way I planned it is that you would have a whole mass that define the overall shapes and behavior, medium secondary shapes that brakes the overall shapes to create interest, and smaller shapes that give accents, which is a pretty standard way of composing visual and get plausible result. Each shapes control many hair because they have "common destiny", so they use just a few particle for a lof of hair, depending on result I may have to interpolate multiple physical strand to get intermediate one or influence lower shapes, but not that many. Also the card method allows to have many strands in a single mesh.

    At least in the example they don't have any elasticity, curly hair is kinda springy, and spring get narrow when they elongate, but that might be overkill, I'll have to test.

    Now if that's not possible that's okay, but basically I wanted to decouple, collision particle position from simulated particle position, basically offsetting these two positions.

    I have downloaded the paper where they talk about it, so I'm aware of it, I also downloaded the rip of Sazh (too bad there is no rip of dazh and I don't know how to rip), I have looked at all existing game render, mafia 3, mgs5 to the latest need for speed who had a npc with that type of hair. I'm also susbcribed to many nappy youtuber where they talk about styling and care.

    I don't have an image to share right now, because I'm looking for behavior not look, I'm investigating what's possible which will impact look, and it's not for just one project, I want to go down and specialize in this type of character, so i'm studying in depth what's possible and how what opportunity it does give for looks. I'm looking to master the subject, there is nobody else who has a full grasp, nobody has made any real study so far! Campo Santo highlighted that in their blog. Also the closest thing was that video about pixar's brave's hair, despite curl being bigger and looser, the idea seems sound enough to try.

    I'm also doing a lot of iteration and test on my side, what I have asked is informed from a simple implementation of spring particle in blitz3D and various experiment.
    https://i.imgur.com/489zdmZ.png
    Each iteration give me insight and allow me to see things I missed, it's difficult to share, because people might not see them because they don't know about them, they are not used, so it create confusion. For example people who don't have thick afro hair have no concept of "baby hair", that is the small hair that are on the edge of the hair area, you know that, because they never model it ever!

    Basically the conclusion I came off with that small experiment is that I don't want collision on the gravity affected particle, but on a proxy particle that derive their position from the gravity affected particle, while pushing the gravity affected particle when they collide to other physical objects. The collision particle would crudely approximate the shape of curl.
     
  23. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Well, stiffness is a parameter you choose for each rope. In the video it just happens to be very high. This parameter gets internally converted to a compliance value, as we use XPBD for iteration count independence.

    The mesh gets stretched together with the rope by default. Not squashed/narrowed as it gets longer, but that's a really easy addition if you need it (a single line of code that maps rope strain to mesh scale in the off-axis directions).
     
    neoshaman likes this.
  24. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Okay, I have obi cloth already (I still have to try the tearing scene :( ), I will buy preemptively obi rope lol, maybe all the collection because even if they don't fit the specific use case I have they are still very good lol. I don't need the squash I think.

    I have so many things to do D:> I don't know if I can try it right now, my hand is already full with some procedural generation.
     
  25. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Hi,
    I get this error in 2018.1

    Havent tried the actual ropes yet so dont know if it will build, working on fixing all build errors right now
    upload_2018-5-2_20-5-51.png
     
  26. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
  27. Invertex

    Invertex

    Joined:
    Nov 7, 2013
    Posts:
    1,550
    After some testing, this appears to be a bug with [MenuItem] in the ObjParticleBakerEditor.cs and ObiParticleRendererEditor.cs files when AssemblyDefinition files are used for Obi. After you delete them, the errors appears to go away.

    Regardless, the error doesn't seem to have any actual effect.
     
  28. invadererik

    invadererik

    Joined:
    Oct 31, 2010
    Posts:
    148
    @arkano22 2017.4.2f2 Whenever I go to paint some skin maps, the moment I try to load another scene Unity crashes
     
  29. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi there,

    Could you provide the editor crash log, so that we can see what's happening? It does not crash for me (I assume you mean an actual skin map, not painting skin values in the particle editor)
     
  30. invadererik

    invadererik

    Joined:
    Oct 31, 2010
    Posts:
    148
    I've attached editor crash log pertinent section below.

    steps to reproduce:

    1) new scene
    2) create a New Obi.ObiTriangleSkinMap
    3) assign source and target
    4) click on Edit skin map button
    5) dont save scene
    6) after new scene is loaded attempt to load any scene saved in your project
    by double clicking in Project window

    expected:
    skin map is saved and other scene is loaded

    undesired result:
    Unity crashes.

    Note:

    clicking on "Done" button works, but would like my work to not be lost if I forget the proper procedure.

    Code (CSharp):
    1.  
     
  31. invadererik

    invadererik

    Joined:
    Oct 31, 2010
    Posts:
    148
    @arkano22 can you explain how a skin map works? what is the relationship between verts in two meshes and the map ?
     
  32. owen_proto

    owen_proto

    Joined:
    Mar 18, 2018
    Posts:
    120
    When trying to generate a mesh topology for a mesh to be used as a tearable cloth, I get a console error:


    ArgumentOutOfRangeException: Argument is out of range.
    System.Array.Resize[Vertex] (.Vertex[]& array, Int32 length, Int32 newSize) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Array.cs:1919)
    System.Array.Resize[Vertex] (.Vertex[]& array, Int32 newSize) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Array.cs:1913)
    Obi.ObiMeshTopology.Generate () (at Assets/Obi/Scripts/DataStructures/ObiMeshTopology.cs:272)
    Obi.ObiMeshTopologyEditor.OnInspectorGUI () (at Assets/Obi/Editor/ObiMeshTopologyEditor.cs:70)
    UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor[] editors, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1295)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    Any idea what's wrong?
     
  33. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi there,

    Regarding your issue, I'd check that your mesh is 2-manifold (non-manifold meshes are not supported, and while most non-manifoldness sources can be spotted and gracefully handled, some are not)

    Note to all users in this thread: for further assistance with Obi, please write to our support email or open a thread in the Obi forums.

    Having to check multiple forums/email accounts/blogs/social media pages looking for questions takes a lot of time and effort and is very error-prone. It also lengthens answering time for you, as we first need to find your questions before being able to answer them.
     
  34. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi there,

    We were able to reproduce this. The stack trace however clearly shows the crash happens inside of Unity when trying to load the new scene (_ZN19ActiveEditorTracker7RebuildEv method). I'm 100% positive this is a Unity bug, you should file a bug report.

    Edit: Seems that calling Unity's RestoreSceneManagerSetup() method will cause a crash if the current scene is saved as an asset. So the workaround is to check that the active scene is not saved. In ObiTriangleSkinMapEditor.cs, line 124, add a check for the path of the current active scene. It should look like this:

    Code (CSharp):
    1. if (SceneManager.GetActiveScene().path.Length <= 0)
    2.                 {
    3.                     if (this.oldSetup != null && this.oldSetup.Length > 0)
    4.                     {
    5.                         EditorSceneManager.RestoreSceneManagerSetup(this.oldSetup);
    6.                         this.oldSetup = null;
    7.                     }
    8.                     else
    9.                     {
    10.                         EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
    11.                     }
    12.                 }
     
    Last edited: May 21, 2018
  35. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    155
    Hey, I'm trying to edit the particles of a mesh I setup for Obi Cloth and I'm getting an IndexOutOfRangeException as follow:

    IndexOutOfRangeException: Array index is out of range.
    Obi.ObiParticleActorEditor.DrawParticles () (at Assets/Obi/Editor/ObiParticleActorEditor.cs:382)
    Obi.ObiClothEditor.DrawActorInfo () (at Assets/Obi/Editor/ObiClothEditor.cs:138)
    Obi.ObiParticleActorEditor.OnSceneGUI () (at Assets/Obi/Editor/ObiParticleActorEditor.cs:262)
    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/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    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/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.SceneView.CallOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:2507)
    UnityEditor.SceneView.HandleSelectionAndOnSceneGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1833)
    UnityEditor.SceneView.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/SceneView/SceneView.cs:1663)
    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/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
    Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
    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/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
    System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
    UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:295)
    UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:288)
    UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:255)


    It's for a decently complex character model of hair around 30,000 polygons. Albeit, the plan isn't to use all 30,000 in the simulation; I would use a texture mask to knock out quite a few.

    I did confirm though that the Obi Cloth particle editor is working with a much simpler mesh.

    Any suggestions on how to get around this exception?

    EDIT: I'm still kind of curious about whether there is some kind of fix for my previous question (or whether it's just simply too large to work). That being said, I have come across proxies which I feel are the solution to this problem.

    Unfortunately though, the proxy isn't entirely working out either. The following three images illustrate this with the base mesh, proxy mesh, and runtime results respectively:





    The bottom half of the ponytail behaves the best and looks about right, whereas the top half of the ponytail kind of explodes and gets a little crazy. These verts correspond to points on the proxy that I have pinned.

    If I click on "Unoptimize mesh" for the proxy source, the target mesh doesn't become as wild, but there are still some verts that just fly out from their base position.
     
    Last edited: Jun 4, 2018
  36. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi there,

    Obi does not support non-manifold meshes. Oftentimes the topology asset will raise a warning if the input mesh has any malformations, but if it can't detect them things will blow up later down the pipeline.

    You should be able to fix your mesh in any modeling package. Most have a "cleanup" option that can fix most non-manifoldness sources.
     
    hopeful and local306 like this.
  37. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    155
    Gotcha. I did noticed the warning when I tried to use the entire head of hair. Using the ponytail alone didn't raise the alarm, but I will try to run a cleanup script on it as suggested. Thanks!
     
  38. sashahush

    sashahush

    Joined:
    Sep 5, 2012
    Posts:
    75
    Hi there,
    I have a question about dynamic emitters for Obi Fluid.
    I have obi emitters attached to enemy entities who spawn and despawn dynamically. How can i get the camera
    with a Obi Fluid Render component to render them since they are dynamic, The Obi Render component on the camera requires a specific emitter to be referenced in the scene so it can be rendered but can this be done dynamically?
     
  39. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi,

    The fluid renderer holds references to the individual particle renderer components in a regular array, named "particleRenderers". So you can simply set the emitters to be rendered upon instantiating them. For instance:
    Code (CSharp):
    1.  
    2. // instantiate 3 emitters here.
    3.  
    4. // grab their particle renderers.
    5. ObiParticleRenderer renderer1 = emitter1.GetComponent<ObiParticleRenderer>();
    6. ObiParticleRenderer renderer2 = emitter2.GetComponent<ObiParticleRenderer>();
    7. ObiParticleRenderer renderer3 = emitter3.GetComponent<ObiParticleRenderer>();
    8. fluidRenderer.particleRenderers = new  ObiParticleRenderer[]{renderer1, renderer2, renderer3} // etc.
     
    sashahush likes this.
  40. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi everyone,

    Obi 3.5 is now available. Here's a post highlighting some of the new stuff:

    http://blog.virtualmethodstudio.com/2018/06/obi-3-5-whats-new/

    In addition to this, small tweaks and bug fixes have been included. For an exhaustive list of changes see the included changelog file.

    hope you enjoy it!
     
  41. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Hi @arkano22. I just tested 3.5 still get errors in 2018.1.5

    upload_2018-6-19_22-21-11.png
     
  42. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
  43. AndersMalmgren

    AndersMalmgren

    Joined:
    Aug 31, 2014
    Posts:
    5,358
    Interesting, I have hundreds of custom menus only obi that gives this error
     
  44. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    These conditions apply:

    - The issue does not seem to reproduce when custom MenuItem is created on the main menu tabs, other than "Component".
    - The issue is reproducible only when selecting the Component/Component lister for the first time. Subsequent attempts result in the expected behavior.
    - If the issue does not reproduce from the first attempt, press "Clear" in the Console window and repeat step 2.
    - The issue occurs again after script recompile.

    I can reproduce it 100% of the time.
     
    AndersMalmgren likes this.
  45. superlol

    superlol

    Joined:
    Dec 6, 2010
    Posts:
    10
    Hi there! I'm interested in buying Obi Fluid but I have few questions before to proceed.
    - Is it possible to render fluids using the new Lit shader that comes with unity 2018.2 and the HD render pipeline?
    - Are skinned meshes supporter by fluids? I mean interaction between animated characters and fluids.
    Thx!
     
  46. mmortall

    mmortall

    Joined:
    Dec 28, 2010
    Posts:
    89
    arkano22,
    Does your asset works with unity convex colliders? Does soft body and cloth interact with convex colliders in the same way as with sphere or box colliders?
     
    Last edited: Aug 2, 2018
  47. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Hi,

    No, and it depends. Fluids are rendered using screen-space ellipsoid splatting, which uses its own shaders. You can write your own though.

    Interaction with animated characters will works as long as your characters are represented by a hierarchy of primitive colliders (capsules, cubes, spheres, etc). Unity does not support deformable MeshColliders, so using the character geometry directly for collision detection will not work.
     
    superlol likes this.
  48. arkano22

    arkano22

    Joined:
    Sep 20, 2012
    Posts:
    1,929
    Obi can interact both with convex and concave colliders. Moreover, it supports a custom type of collider (distance fields) which is much more efficient than regular MeshColliders.
     
    mmortall likes this.
  49. mmortall

    mmortall

    Joined:
    Dec 28, 2010
    Posts:
    89
    Thanks, arkano22. I've bought your asset and very happy about it.

    One more questions.
    Is there any performance improvements regarding your asset in Unity 2018 or it works same as in older Unity versions like 2017? Does your asset use new Unity Job System & ECS? And does simulation works faster?
    And can you recommend what I can use to improve the performance for high detailed soft body geometry? Thanks.
     
  50. ibbybn

    ibbybn

    Joined:
    Jan 6, 2017
    Posts:
    193
    He gave very detailed answer to the first part of the question at the Obi forum. :) http://obi.virtualmethodstudio.com/forum/showthread.php?tid=637