Latest Threads |
How to dynamically change...
Forum: Obi Rope
Last Post: quent_1982
04-07-2025, 11:29 AM
» Replies: 2
» Views: 80
|
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
04-07-2025, 09:52 AM
» Replies: 13
» Views: 772
|
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 174
|
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 244
|
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 707
|
Can I blend in and out of...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 04:42 PM
» Replies: 3
» Views: 234
|
Using a rigidbody/collide...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 09:29 AM
» Replies: 1
» Views: 137
|
Solver is too performance...
Forum: Obi Rope
Last Post: quent_1982
20-06-2025, 08:09 AM
» Replies: 40
» Views: 4,191
|
Obi 7 Model Scaling
Forum: Obi Cloth
Last Post: alkis
19-06-2025, 02:37 PM
» Replies: 2
» Views: 251
|
Obi Softbody instability?
Forum: Obi Softbody
Last Post: Aroosh
18-06-2025, 06:35 PM
» Replies: 0
» Views: 133
|
|
|
DllNotFoundException after migrating 2020 Win to 2021 Mac |
Posted by: fishing-rod - 10-11-2021, 09:57 PM - Forum: Obi Rope
- Replies (10)
|
 |
Hi,
I tried to keep the subject short. I migrated my project from Unity 2020 LTS on a Windows 10 Laptop to Unity 2021.2.1f1 on a M1 Mac.
It actually went way better than I though but when I enter play mode I get these type of errors spammed with different call stacks. Here are two examples:
Code: DllNotFoundException: libOni assembly:<unknown assembly> type:<unknown type> member:(null)
Obi.OniBackend.CreateSolver (Obi.ObiSolver solver, System.Int32 capacity) (at Assets/Obi/Scripts/Common/Backends/Oni/OniBackend.cs:17)
Obi.ObiSolver.Initialize () (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:862)
Obi.ObiSolver.AddActor (Obi.ObiActor actor) (at Assets/Obi/Scripts/Common/Solver/ObiSolver.cs:1123)
Obi.ObiActor.AddToSolver () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:338)
Obi.ObiActor.OnEnable () (at Assets/Obi/Scripts/Common/Actors/ObiActor.cs:313)
Code: DllNotFoundException: libOni assembly:<unknown assembly> type:<unknown type> member:(null)
Obi.OniColliderWorld.SetColliders (Obi.ObiNativeColliderShapeList shapes, Obi.ObiNativeAabbList bounds, Obi.ObiNativeAffineTransformList transforms, System.Int32 count) (at Assets/Obi/Scripts/Common/Backends/Oni/OniColliderWorld.cs:40)
Obi.ObiColliderWorld.UpdateWorld (System.Single deltaTime) (at Assets/Obi/Scripts/Common/Collisions/ObiColliderWorld.cs:388)
Obi.ObiUpdater.BeginStep (System.Single stepDeltaTime) (at Assets/Obi/Scripts/Common/Updaters/ObiUpdater.cs:42)
Obi.ObiFixedUpdater.FixedUpdate () (at Assets/Obi/Scripts/Common/Updaters/ObiFixedUpdater.cs:44)
I tried reimporting from package manager and restarting unity. I still get those errors.
|
|
|
Obi 6.3's Obi Bone |
Posted by: josemendez - 10-11-2021, 01:53 PM - Forum: Announcements
- Replies (7)
|
 |
Hi there,
Obi 6.3 is near release and includes many improvements, among them:
- Character cloth scaling support.
- Full-body volumetric softbodies, and overall improved softbody blueprint generation.
- ObiBone.
ObiBone is a new type of actor included with ObiRope. It leverages the technology behind rods to endow character bones with physical simulation, while respecting the original animation - if any. Braids, tails, breasts, tentacles, wings, and other appendages can be easily and efficiently simulated with this component. Supports full two-way coupling with other actors and rigidbodies, surface collisions, and most other Obi goodies.
You can check its WIP manual page here:
http://obi.virtualmethodstudio.com/manua...setup.html
Wait, I already own ObiRope, do I get this for free?
Yes .
What does this have to do with ropes and rods? Why is it not an asset of its own?
Many bone hierarchies have roughly the same topology as a rope: a list of particles attached to each other in a chain-like fashion. Many of its use cases are also similar: a braid or a reptilian tail can be modeled as a rope, you *could* use ObiRope to simulate them but it's very awkward and uncomfortable. ObiBone takes the pain away from this, so in many ways it's an improvement over ObiRope. Does not feel right to make you pay more to "fix" a shortcoming on an existing asset.
I don't own ObiRope, will its price increase in the future as a result of this additional feature?
Nope.
|
|
|
How many particles are defined for a given rope ? |
Posted by: lufydad - 10-11-2021, 10:15 AM - Forum: Obi Rope
- Replies (2)
|
 |
Hi, I'm looking for a formula to get the active number of particles for a given rope. (using actor.activeParticleCount).
I noticed that it only depended on the blueprint and that the formula looked like :
Resolution * Length of the rope / Thickness
but it doesn't work every time...
|
|
|
Rope that can be in water |
Posted by: lufydad - 09-11-2021, 03:26 PM - Forum: Obi Rope
- Replies (4)
|
 |
I made a game with an ocean and a whole physical system associated with it.
Is it possible to add forces on given particles in a rope ? That way I could identify the particles under water and add resistance force to them.
|
|
|
Collision Between 2 SoftBody |
Posted by: dinhtai1104 - 04-11-2021, 10:24 AM - Forum: Obi Softbody
- Replies (3)
|
 |
Hi devs, I've just implemented Obi Softbody plugin in game. And I don't know how to detect 2 softbody in scene (With others object is not softbody it's work perfect) here is my scripts for object softbody:
Code: using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Obi;
public class BallObiCtr : MonoBehaviour
{
public static int BallID = 0;
private int ballID = 0;
public ObiSolver obiSolver;
private void Start()
{
ballID = BallID++;
obiSolver.OnCollision += this.HandleCollisionCallback;
}
private void HandleCollisionCallback(ObiSolver solver, ObiSolver.ObiCollisionEventArgs e)
{
var world = ObiColliderWorld.GetInstance();
foreach (Oni.Contact contact in e.contacts)
{
// look for actual contacts only:
if (contact.distance < 0.01)
{
var col = world.colliderHandles[contact.bodyB].owner;
if (col != null)
{
Debug.Log(col.name);
if (col.gameObject.transform.CompareTag("Ball"))
{
Debug.Log("Callback collision ball!");
}
}
}
}
}
private void OnDisable()
{
obiSolver.OnCollision -= this.HandleCollisionCallback;
}
}
|
|
|
|