Search Forums

(Advanced Search)

Latest Threads
Broken scripts with updat...
Forum: Obi Rope
Last Post: hariedo
2 hours ago
» Replies: 0
» Views: 11
Garment explodes on Andro...
Forum: Obi Cloth
Last Post: CptnFabulous
19-12-2024, 07:16 AM
» Replies: 4
» Views: 658
Calculating and Reproduci...
Forum: Obi Fluid
Last Post: ZacharyP
18-12-2024, 05:49 PM
» Replies: 2
» Views: 756
Null Reference, actor not...
Forum: Obi Rope
Last Post: josemendez
13-12-2024, 12:39 PM
» Replies: 1
» Views: 135
Issue with Grasping ObiRo...
Forum: Obi Rope
Last Post: josemendez
12-12-2024, 12:00 PM
» Replies: 5
» Views: 417
Changing extruded rendere...
Forum: Obi Rope
Last Post: aderae
10-12-2024, 07:35 PM
» Replies: 2
» Views: 218
Baking a rope is causing ...
Forum: Obi Rope
Last Post: josemendez
10-12-2024, 11:06 AM
» Replies: 6
» Views: 622
Barrier belt - changing l...
Forum: Obi Rope
Last Post: josemendez
10-12-2024, 10:42 AM
» Replies: 1
» Views: 198
Path editor gizmo's appea...
Forum: Obi Rope
Last Post: josemendez
10-12-2024, 09:50 AM
» Replies: 1
» Views: 192
Problems when using multi...
Forum: Obi Cloth
Last Post: Cat3Man
09-12-2024, 03:17 AM
» Replies: 2
» Views: 268

 
  How to optimize collisions?
Posted by: vrtraining - 15-10-2024, 06:05 PM - Forum: Obi Cloth - Replies (12)

So I have turned off surface and self collisions for a cloth and also my sheet is 9x9 = 81 particles. I've tried using many techniques, the sub steps to 1-2, collision iteration is only 1. Using multiple collision layers to avoid multiple collisions. 

The problem im facing is frame rate drop when my cloth falls on the floor as it lay down completely flat on the floor, i think it could be due to all 81 points colliding with the floor. Any other options I can use to reduce physics based processing or increase my framerate? Does total number of colliders in scene effect?

Update: I tried reducing cloth collision points to only 4 and im still getting same results as it hits the floor, looks like number of points colliding isn't the issue. But as soon as it collides with floor my frame rate drops, any way to optimize or trace it? Because as long as im holding the blanket in hand with attachments, it works fine, but as soon a single collision happens or any single particle collides anywhere i get a frame rate drop.

Print this item

  Is there a way of obtaining the 'tension' and streching of a rope
Posted by: danik9 - 14-10-2024, 11:54 AM - Forum: Obi Rope - Replies (2)

I want to have a crane that get certain behavior once a tension threshold is certain amount.

On top of that I want the motor that retract or extend the rope to sound like its making more effort depending on the tension amount.

Is this achievable? if so, how? 

Best regards,
Daniel.

Print this item

  How to make an object hold Obi Fluid?
Posted by: vivi_j - 09-10-2024, 02:11 AM - Forum: Obi Fluid - Replies (4)

I'm working on simulating a Chemistry Lab in Unity. Here's what it looks like right now: https://file.io/6cEnvfVUCXTK. But I'd like to make my object hold Obi Fluid. Here's the mesh: https://imgur.com/a/dz5o3ue. I've tried it with a different object that had more vertices as well, so I'm not sure what's wrong. I suspect that it's an issue with the mesh, but can someone please help? Thanks Sonrisa

Print this item

  Obi rope with Photon Fusion 2 disconnects from attachment
Posted by: Paul1 - 07-10-2024, 04:38 PM - Forum: Obi Rope - Replies (4)

I need to spawn objects in runtime, so everything needs to be a prefab. When creating a scene, I instantiate obi rope and spawn 2 plugs, that I can pick up, I connect them to the rope and that is it. On host: Everything works fine, on client: rope gets disconnected from plug and starts to do some weird movement. That only happens when everything is instantiated in runtime.

SimulationBehaviour code:
Code:
bool first = true;
public void OnPlayerJoined(NetworkRunner runner, PlayerRef player)
{
    if (runner.IsSceneAuthority)
    {
        if (first)
        {
            runner.Spawn(prefab, new Vector3(1, 0.089f, 0));
            runner.Spawn(prefab, new Vector3(-1, 0.089f, 0));
            first = false;
        }
        runner.SetPlayerObject(player, runner.Spawn(playerPrefab, new Vector3(UnityEngine.Random.Range(-10, 10), 1, UnityEngine.Random.Range(-10, 10)), inputAuthority: player));
    }
}
plug code (there is more code, but for this question, this is the important part. Parent is in main project something else, this is just for testing):
Code:
Transform parent;
Rigidbody rb;
private void Start()
{
    parent = transform;
    rb = parent.GetComponent<Rigidbody>();
    if (a.Att1.target == null)
    {
        a.Att1.target = transform;
    }
    else
    {
        a.Att2.target = transform;
    }
}
public void Pickup(Transform hand)
{
    rb.isKinematic = true;
    rb.useGravity = false;
    parent.SetParent(hand);
    parent.localPosition = Vector3.forward;
}
public void Release()
{
    rb.isKinematic = false;
    rb.useGravity = true;
    parent.SetParent(null);
}
I also set the Time.timeScale = 0 at start of creating the scene, and at the end back to 1.
Here is a video for better understanding of the problem: [color=var(--theme-link-color-hover, var(--theme-secondary-500))]https://drive.google.com/file/d/1P0H2jcFyjb4VeKeQxLUOMf9-ppuZqm9X/view?usp=sharing[/color]

Print this item

  Simulating shoe lacing with Obi rope and Obi softbody
Posted by: Henning - 04-10-2024, 10:45 AM - Forum: Made with Obi - No Replies

Hi all,

My colleagues and I have been using Obi to research the robot manipulation of shoelaces. We recently published a paper using this simulation environment.



Here is our open-source repo: ImperialCollegeLondon/UniLace (github.com).

Here is the paper: Benchmarking and Simulating Bimanual Robot Shoe Lacing | IEEE Journals & Magazine | IEEE Xplore.

Please feel free to contact us if you have any questions about our simulation!

Best Regards,
Haining

Print this item

  Obi Fluid 7 for Apple Vision Pro
Posted by: AguaRadio - 03-10-2024, 08:10 AM - Forum: Obi Fluid - Replies (1)

Hi there, hope you're doing good.

I wanted to inquire if Obi Fluid 7 works on Apple Vision Pro with the change from previous screen-space ellipsoid splatting to isosurface mesh extraction. Currently vision OS builds from Unity currently only support Single-Pass Instanced rendering so I'm curious if the team has tested this in house before I proceed further. 

Thank you so much for your time.

Print this item

  Wrong Particle Position
Posted by: TryBios - 29-09-2024, 04:42 PM - Forum: Obi Rope - Replies (2)

Hi Everyone,

i have an Problem where i need the Particle Position of my Cable. It works fine when i have one Cable in the Scene. But as soon as i use more than one, somehow i get the same Particle from one Cable for all other Cables. I have a Script attached to every Cable and in this Script i search the specific Actor of every Gameobject and use those Particles (as you can see in the attachement). But somehow all the Cables use the same Particle of the first Cable which is in the Actor List. Hopefully i explained my Problem good enough if yall need more Information feel free to ask. Maybe im just dumb but i cant seem to find the Error.



Attached Files Thumbnail(s)
   
Print this item

Bug Overlapping Obi Colliders too much causes the Compute backend to go mental
Posted by: Nyphur - 27-09-2024, 10:36 AM - Forum: Obi Fluid - Replies (3)

OK, I have a truly bizarre one for you. 

If you put enough Obi Colliders overlapping in the same place, even fully static box colliders, the Compute backend goes absolutely mental. It has some kind of overflow and starts adding random updraughts of force to particles in random areas, some near the colliders (but not touching) and some nowhere near it. Burst is unaffected.

I noticed it in a game where I have a level made out of modular parts and each Wall has an obi collider. I added some more colliders to the level and noticed that my fluid started randomly jumping up all over place and wouldn't stop. Even with the most aggressive smoothing, the fluid never reached a rest state and just kept jiggling. A ton of trial and error to find out that it's caused by obi colliders just being in the scene and switched on and not even necessarily near the fluid, and then I managed to recreate it by stacking enough colliders in the same spot.


Replication steps:

  • Create a new blank URP project
  • Install Obi Fluid 7.03
  • Launch Faucet And Bucket test scene and fix the scene materials
  • Set the Solver to Compute back-end and the emitter to speed 6 and lifespan 8
  • Edit the fluid blueprint to expand it to 12,000 particles and re-generate it
  • Create a 3D Cube at coordinates Vector3(0.879999876,1.23000002,-2.41999984). Add an Obi Collider.
  • Launch the Scene. Now duplicate the cube in place using Ctrl-D until you get to 16 cubes.
  • When you get to 16 cubes, you'll see obvious jets shooting out of the fluid below and near the cube, and another jet randomly on the far edge of the fluid.
Experimentation:
  • If you disable the obi colliders on the cubes 1 at a time you can see the effect diminish with each one.
  • If you move any of the cubes so that their colliders are no longer overlapping, they no longer contribute to the effect.
  • If you move the group of cubes around or re-scale them all, it changes the characteristics of the random bits of force causing the jets
  • Change the box collider size's y value on all the cubes slowly. When it hits 3, an entire quadrant of particles randomly jumps up in the air. Increase it further to just over 8.0, the effect disappears and everything goes back to normal. 8 world units tall seems to be a magic number, is that the unit size of the collider grid or something?
Expected Result: Not fluid going mental

Observed Result: Fluid going mental

Print this item

Bug ObiInstancedParticleRenderer renders ghosts of dead particles
Posted by: Nyphur - 26-09-2024, 01:50 PM - Forum: Obi Fluid - Replies (4)

Very much in the spirit of Halloween here, but ObiInstancedParticleRenderer appears to be haunted as it's rendering ghost particles.

Replication steps:

  • Create a new blank URP project
  • Install Obi Fluid 7.03
  • Change shader target in ProceduralInstanced.shadergraph from BuiltIn to Universal
  • Launch Faucet And Bucket test scene and fix the scene materials
  • Disable the emitter's ObiFluidSurfaceMesher, add ObiParticleRenderer and ObiInstancedParticleRenderer components
  • Set the emitter's lifespan to 1 second and speed to 8, and launch the scene
  • Once the scene is open, you'll see the error. Set the Speed to 0 while the scene is live to get a really clear example of the ghost particles, which will then stay around indefinitely.

Expected Result: The ObiInstancedParticleRenderer particles stop rendering when the particles expire. When the ObiParticleRenderer particle disappears, its corresponding ObiInstancedParticleRenderer should also disappear.

Observed Result: When particles expire at the end of their lifespan, ObiInstancedParticleRenderer continues to render them at their last known position. In Burst backend they are drawn in their final orientation and in Compute backend they are drawn in their final position but with zero rotation. The particles remain there indefinitely or until their index is re-used by a new particle. ObiParticleRenderer and ObiInstancedParticleRenderer render perfectly in sync right up until the particle expires.

Print this item

  Randomness in solvers
Posted by: aivenhoe - 26-09-2024, 10:55 AM - Forum: Obi Softbody - Replies (3)

dear obi community and obi experts

I have a question: we are trying to synchronize two softbody actors over network, as suggested on this thread.


As a start we made two identical obi softbody setups running in the same unity application.

One setup involves:
- one obi solver
- two actors (spheres) with slightly different properties.
- obi colliders as a bounding box

We copied the setup within the unity hierarchy and placed it next to the original setup, in PlayMode we noticed that the two setups behave differently after already a few seconds.

The image attached shows the problematic. The setups run side by side with the same parameter values but already differ after a few seconds. Where is the randomness?

According to my understanding the softbody physiscs engine should be deterministic and therefore should behave identical when an identical copy is running on the same machine. Am I wrong?


thank you



Attached Files Thumbnail(s)
   
Print this item