Search Forums

(Advanced Search)

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.

Print this item

Información 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 Sonrisa.

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.

Print this item

  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...

Print this item

Corazón Problems integrating Obi Cloth with UMA 2, no particle contacts
Posted by: chris_stamati - 10-11-2021, 12:59 AM - Forum: Obi Cloth - Replies (4)

Hello!

I'm currently trying to integrate UMA and OBI Cloth for more realism.
Basically, all I did is detect when I add a ''Wardrobe Item' and then add Obi skinned components with the right blueprint. Btw the blueprint mesh was pre-generated from the slot mesh data generated by UMA so they are the same... For now, there is no painting on blueprints.

Video: https://youtu.be/WdDoFctGanU\

But I have 3 problems:

- At the start, the top cloth is colliding properly with the top cloth but as soon as I change the TOP item the top part is not colliding anymore, all I do is switch the blueprint, do I have to destroy everything and add new components? How can I improve TOP and BOTTOM collision?

- I noticed that I'm getting this error:
   
Is it because the ObiSkinnedRenderer replaces the generated mesh by UMA with the mesh from the blueprint? Do you know how to create a copy of the mesh at runtime so UMA can delete it and it will not cause problems... 

- The sleeves of the shirt are always clipping? I'm not sure why but If I paint low skin radius they will not move as much as they should move. Do you have some tips for the sleeves of the shirt?

The simulation is pretty good, I'm sure that with proper painting will be amazing!! Thank you again for the amazing asset. I can't wait for new updates!!!

Print this item

  Best way to attach softbody particles together in the newest version
Posted by: snowtv - 09-11-2021, 05:38 PM - Forum: Obi Softbody - Replies (2)

I came across this post http://obi.virtualmethodstudio.com/forum...-1205.html, which was posted two years ago, and it says the best method to use is Distance Constraint.

I want to know is that still the way to go for attaching two softbodies together.

And if I want to attach particles within the same softbody, should I also use Distance Constraint?

How will it behave differently if I create a arbitrary Unity Rigidbody as an "anchor" then attach both particles to it using Pin Constraint?

Print this item

  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.

Print this item

  possible to create kite ?
Posted by: dswigger - 07-11-2021, 10:13 PM - Forum: Obi Cloth - Replies (2)

I have used the parachute demo as a base of reference for what I am trying to do.

I have what would be considered a kite - large sheet, psudo round(photo attached).

I have tried so many different ways to make this thing behave sort of like a kite.  Like blowing wind into it while its attached to various things(including itself).

One of my experiments is in the photo.

So am I approaching this all wrong because I can't get any of it to work.  Either it sort of floats like a kite but twists and gets messed up or it ends up in what looks like a pool of debris on the ground.

I have been attacking this for weeks now.  I would appreciate any and all opinions or if I should change direction completely.  I just need it to look like a kite - not really fly like one(I can make it fly).

I am now considering using obi-fluid and somehow proxying a mesh to another for the effect.

I don't want to give up but am just about out of ideas.

Thanks,

David



Attached Files Thumbnail(s)
   
Print this item

Pregunta Disable Collision between ropes
Posted by: sagaman - 04-11-2021, 06:42 PM - Forum: Obi Rope - Replies (1)

Hi there, in my project I have 3 obi ropes and they share the same rope blueprint. At runtime, these ropes collide with each other. I want to disable those collisions between ropes. I've already tried collision filtering but once I change the category of one control point, it changes on all ropes. Also I saw in some threads, there is a property called "phase", but in my obirope version there is no "SetPhase" method. Is there a simple way to disable collisions between ropes that share same blueprint? Thanks in advance.

Print this item

  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;
    }
}

Print this item

  Better rope pendulum
Posted by: lacasrac - 04-11-2021, 08:06 AM - Forum: Obi Rope - Replies (1)

Hello again!

https://www.youtube.com/watch?v=Gqkz-JlseRw

I created this pendulum, found that script on the net and refactored it to obi rope.

By the way it looks like very weird. How can I create a more nicer look?

script is here:


public class ObiRopePendulum : MonoBehaviour
{
    [Range(0.3f, 10)] public float moveSpeed = 0.8f;
    [Range(5f, 40)] public float angleScale = 20f;
   
    private float _leftAngle = -10;
    private float _rightAngle = 10;
    private bool _clockwise;
    private CreateObiRope _createObiRope;

    private void Start()
    {
        _createObiRope = GetComponent<CreateObiRope>();
        _clockwise = true;
        _rightAngle = moveSpeed * angleScale;
        _leftAngle = -_rightAngle;
    }

    private void Update() => Move();

    private void Move()
    {
        var angle = _createObiRope.GetSignedRopeAngle();
        if (angle > _rightAngle)
            _clockwise = false;
        if (angle < _leftAngle)
            _clockwise = true;
       
        var speed = !_clockwise ? moveSpeed : -moveSpeed;
        var v = new Vector3(speed, 0, 0);
        _createObiRope.PendulumVelocity(v);
    }
}


and the PendulumVelocity:

public void PendulumVelocity(Vector3 velocity)
{
    /*
    var lpIndex1 = GetFirstParticleIndex();
    var lpIndex2 = GetLastParticleIndex();
    for (var i = lpIndex1; i <= lpIndex2; i++)
    {
        rope.solver.velocities[i] = velocity.ToVector4();     
[/i]
[i]    }*/
    rope.solver.velocities[GetLastParticleIndex()] = velocity.ToVector4();
}[/i]


I want the lamp swinging always left/right but with a physics correct way.

How can I improve it to a better way? It is now not so good at the moment Triste

Print this item