I'm having trouble with the Obi Cloth asset in Unity. I'm trying to fit a 3D shirt model onto a 3D human model, but the shirt behaves unpredictably and appears to explode.
Setup:
- A human model with MeshCollider and ObiCollider
- A shirt model with ObiCloth, ObiClothRenderer, and a correctly assigned blueprint
- ObiSolver with 8 substeps and Max Depenetration set to 10
Problems:
The shirt tears and looks like it's exploding, even when initially not colliding with the body.
Error Message when Generating Blueprint:
NullReferenceException: Object reference not set to an instance of an object
Obi.ObiActorBlueprintEditor.Refresh () (at Assets/Obi/Editor/Common/Blueprints/ObiActorBlueprintEditor.cs:416)
...
(But I can click on Edit and see the particles of the shirt).
I've tried adjusting physical parameters like Stretch Compliance and Bend Compliance, but without success. Does anyone have any idea how I can fix this issue?
Hello,
I have recently tried out the new grid-based fluid renderer and it looks fantastic, very captivating. Now, I would like to extract the mesh from a specific frame. There are many interesting things that can be done with this mesh, such as freezing it and setting it as a mesh collider. The possibilities are quite exciting to think about.
So, how should I go about doing this? How can I extract the mesh from a specific frame and turn it into a prefab, etc.?
Thank you!
Hello,
Thank you very much for the tremendous effort you put into Obi 7. I have obtained the custom package for this version. However, I have done a lot of work using Obi Fluid 6.5, and I have projects in the older version. How can I quickly update these projects to Obi Fluid 7 to avoid redundant work? When I tried to directly import the installation package and overwrite the existing one, many errors occurred.
I'm getting this import error. In my previous post things worked, then I tried importing a different obi product (obi fluid) and something got corrupted causing errors that won't self-resolve.
When deleting/re-importing I keep getting this error, for either or both:
Code:
Assets\Obi\Scripts\Common\Backends\Burst\DataStructures\NativeMultilevelGrid.cs(74,46): error CS1061: 'UnsafeList<K>' does not contain a definition for 'length' and no accessible extension method 'length' accepting a first argument of type 'UnsafeList<K>' could be found (are you missing a using directive or an assembly reference?)
I'm not sure where it came from since I hadn't changed any core things such as adding assembly asmdef files. I did add new packages like Mathematics/Collections/Burst
Burst is version 1.8.13. Updating to 1.8.16 didn't fix it.
I am using Unity 2022.3.22f1 with Universal Render Pipeline. The error is preventing me from loading the plugin.
I need your help to find out if it's possible to create an Obi Rope between 2 trackers?
The idea is to make an extinguisher with a tracker on the "body" of the extinguisher, and an extinguisher at the end of the extinguisher nozzle with a hose connecting the 2 ends. As shown in the photo.
The problem is that the trackers on Unity (ViveTracker or Meta Quest controllers used as trackers) are always positioned at (0, 0, 0). What's more, the ropes are very sensitive to gravity, collisions etc... And so with the trackers always moving (or almost), the rope has trouble staying in place and does 'tricks'. For example, it always turns like a 'skipping rope' around an axis.
Has anyone tried this before? Do you have any advice for this particular case? I'm sure I'm not the first person to want to create a flexible linked by 2 trackers .
I have a scene set up similarly to the chain sample scene, with a chain attached statically to the ceiling at one end, and dynamically to a rigidbody at the other. In the editor they appear like:
Upon running the game with gravity disabled on the body, the chain is stretched down a bit:
If gravity is enabled on the dynamic body, the chain stretches down further, and the body becomes slightly disjointed from the chain:
Each time the root object containing the solver, chain, and body is disabled and subsequently reenabled, the body becomes further disjointed by the same amount:
This behavior can be replicated by manually disabling / enabling the chain and ball while running the chain sample scene. In my case, I can compensate for the initial disjoint by shifting the body up slightly in the editor, but I'm having trouble preventing the further disjoint on re-enable. Is there a recommended way to prevent/mitigate this behavior?
Hello! I am using ObiRope to simulate fishing rod with reel.
What i have:
1. Cursor to resize my rope when the player reel in.
2. Hook. Just rigidbody attached dynamically with ObiParticleAttachment at the end of the rope. Static attachment at the fishing rod top point.
I apply force to fishing hook when player cast or fish move with hook. After that my rope will be stretched and i want to prevent this by giving extra length. How can i get the speed of first 1-2 rope particle point and also tension force? How can I compare the current rope tension with the tension at rest? I need these values to calculate resize speed and make more realistic fishing rod behaviour. Or maybe there is other solution for my case?
I had a question about obi cloth. Is it possible to use it on a character and mask out parts of the character like the head/stomach and have the physics applied to that only?
I briefly saw an example of character meshes with cloth applied to them in the demo vid, but did not see anything like that in the tutorials. I saw the ogre vid for obi softbody but I didn't quite see the effect I was looking for.
I considered obi softbody, but I read it can't do certain physics things like self-collision/double-sided that obi-cloth can do which is why I chose the obi cloth instead.
Correct me if I'm wrong- but it looks like obi softbody is more of a wiggle/jiggle with a "return to original shape". Some kind of radial vertex offset from what I can see.
What I'm trying to achieve is more of a "ripple" like a baseball hitting a round jelly surface and the force ripples throughout the form. The force ripples from the origin and terminates at the outer edges. The shape would always return to the original, but there would be that ripple factor. And you could control the "firmness" or "impact" of the physics on the object.
It seemed like obi-cloth achieved that more closely, since cloth tends to have that ripple effect (from all the physics simulations I've seen involving cloth). Softbody in general seems to be more "firm/bouncy" and almost like a "spring" rather than some kind of "jelly". I could be wrong though, it's just what I've seen/tested so far.
To re-iterate what I'm looking for:
> Has outward ripple effect on impact (from collision of some kind)
> Can control "firmness", "amplitude/offset", "motion multiplier" etc
> Always returns to original form
Any ideas on how to achieve this masked physics effect, and if obi-cloth supports the ripple on characters?
Or if I should use obi softbody instead- if that more closely resembles what I'm trying to achieve?
Hello
I am currently trying to update a project to Unity 2022.3.25 (from 2021.3.27). The current version of Obi Rope I'm using is the 6.3.
Updating to Unity 2022 and keeping that version of Obi Rope leads to serious lags when increasing the number of ropes (already unplayable at less than 10). For this problem, I didn't really bother looking for a solution because updating to the latest (6.5.4 at the time I write this) solves it.
The problem is, thousands of errors pop up in the console after updating, and the rope behavior is clearly broken (at least visually).
Just to clarify, the expected result of the ropes is a perfectly straight line, with no bending at all. In the attached screenshot 1, you can see the rope is bending. And in the second attached screenshot, you can see the rendering of the rope is completely gone but the game still works as if the ropes were here. The flow of all this is, screenshot1 occurs when launching the game, but if I reload the level without quitting Unity, it's when the rendering disappears. This precision is what makes me think the problem is only on the rendering side because when playing in the first case scenario (with bent ropes) the physic behavior feels normal.
To add more "proofs" for that thought, if you play the game (links below), you will notice you can cut ropes. In the attached screenshot 3 you can see trying to cut the rope on the visual doesn't mark it red, while trying to cut between the hand and the head marks it red (screenshot4).
Now, the major points I need to mention are, I have little to no experience with Obi Rope, and this project isn't my own. The person who created this game isn't working with me anymore, quickly looked into this to see if anything was obvious but couldn't find a solution. They told me to make a post here to have a better chance.
The information worth mentioning :
- During my research, I ended up on this post which looks very similar but doesn't have any answer as the OP stopped responding (+ I don't know how to "Disable Burst to get a better stack trace")
- Unity version : 2022.3.25
- Obi Rope version : 6.5.4
- Android and iOS store links if you want to observe the pre-update (and wanted) behavior.
I'm sorry for the small amount of details, I truly don't know what to share to help explain my case and will gladly add more precision if needed.