Latest Threads |
How to dynamically change...
Forum: Obi Rope
Last Post: quent_1982
Yesterday, 11:29 AM
» Replies: 2
» Views: 75
|
Pipeline that bends
Forum: Obi Softbody
Last Post: josemendez
Yesterday, 09:52 AM
» Replies: 13
» Views: 761
|
How to implement/sync Obi...
Forum: Obi Rope
Last Post: quent_1982
01-07-2025, 01:48 PM
» Replies: 2
» Views: 168
|
Collisions don't work con...
Forum: Obi Rope
Last Post: chenji
27-06-2025, 03:05 AM
» Replies: 3
» Views: 235
|
Force Zone apply differen...
Forum: Obi Rope
Last Post: chenji
26-06-2025, 11:41 AM
» Replies: 11
» Views: 690
|
Can I blend in and out of...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 04:42 PM
» Replies: 3
» Views: 227
|
Using a rigidbody/collide...
Forum: Obi Cloth
Last Post: josemendez
24-06-2025, 09:29 AM
» Replies: 1
» Views: 132
|
Solver is too performance...
Forum: Obi Rope
Last Post: quent_1982
20-06-2025, 08:09 AM
» Replies: 40
» Views: 4,168
|
Obi 7 Model Scaling
Forum: Obi Cloth
Last Post: alkis
19-06-2025, 02:37 PM
» Replies: 2
» Views: 246
|
Obi Softbody instability?
Forum: Obi Softbody
Last Post: Aroosh
18-06-2025, 06:35 PM
» Replies: 0
» Views: 127
|
|
|
Mobile performance |
Posted by: DryGinStudios - 12-05-2021, 04:05 PM - Forum: Obi Fluid
- Replies (18)
|
 |
So... created a new project, 2020.3.7f1 in URP. Added the obi fluid and tested on android the SimpleFluid scene. I got a galaxy s20 (very performant) and I had 15 fps. I added all the latest burst, job, mathematic.
I get to 30 fps when reducing the max dpi of the screen to 300.
I've built multiple games for android with physics (Dots Physics too) and I've never seen such bad performance so I'm sure something is wrong.
I read that the SimpleFluid was mobile optimized so how come I have 15 fps out of the box on one of the best cellphones on the market.
Is it normal? Is there something I don't understand?
Regards,
Paul-André
|
|
|
Can't seem to make rope collide with Mesh Collider |
Posted by: edenalon - 12-05-2021, 12:17 PM - Forum: Obi Rope
- Replies (1)
|
 |
Hello!
I'm browsing the docs and I must get something wrong while implementing collision of ObiRope.
What are the correct ways to do so?
I manage to get it working with box colliders. I want it to collide with a mesh collider that isn't convex. is it possible?
thanks for the help,
Eden.
|
|
|
Obi Solvers are adding HUGE forces to rigidbodies in scenes without any ropes! |
Posted by: Hatchling - 12-05-2021, 02:05 AM - Forum: Obi Rope
- Replies (9)
|
 |
I've encountered a consistently reproducible bug that is so critical it renders ObiRope virtually unusable.
I have a scene:
- A scene with spherical rigidbodies with X, Y and Z rotations locked (which produces an inertia tensor of 0 along locked axes.)
- The spherical rigidbodies are manipulated via script.
- The spherical rigidbodies have an ObiRigidbody and ObiCollider attached initially.
- Initially, no ropes, cloth, or any other Obi objects (aside from the aforementioned) are present in the scene.
Reproduction:
- On a fresh unity start after closing it down completely, I run the scene.
- Initially everything works correctly.
- So long as I do not place a rope in the scene, I can stop and play the scene as many times as I like.
- I place the rope in the scene - which I do while playing; it isn't initially in the scene - it works correctly at first. I use a script to attach a rope to two surfaces selected by the player. Also worth nothing that no ObiSolvers are present in the scene until a rope is added.
- Then after stopping and starting a new play session - WITHOUT placing any ropes in the new play session - the spherical rigidbodies are given such extreme forces that they are often sent straight into NaN-land. It doesn't appear to matter where the ropes are attached in the previous session.
- Running a debugger and inspecting the values provided to ObiRigidbody.UpdateVelocities, they are often insane values with a magnitude greater than 1.0e+20, if not outright NaN.
- Even if I add a condition that the provided velocities are only added if their magnitudes are < 1000, the sphere rigidbodies will be accelerated with a huge amount of force along either the X, Y or Z axis in either direction.
- Removing the ObiRigidbody (and ObiCollider) components prevents this.
- The only way to bring ObiRigidbody into a usable state is to re-start the editor.
I previously had 5.1 installed, and immediately after upgrading the bug started to occur.
|
|
|
Cant change rope position on instantiate |
Posted by: boulder - 11-05-2021, 01:48 AM - Forum: Obi Rope
- Replies (2)
|
 |
Hi,
I instantiate ropes in game but can't change position of them on instantiate and they appear on where they are supposed to be and then stuck. I change start and end particle attachment positions plus rope transform position
I am using the code below
Code: Rope newRope = Instantiate(ropeSet.ropeObject, ropeSet.transform);
newRope.transform.position = newRopePoint.transform.position;
newRope.ropeStartPoint.SetParent(transform);
newRope.ropeEndPoint.SetParent(newRopePoint.transform);
newRope.ropeStartPoint.localPosition = Vector3.zero;
newRope.ropeEndPoint.localPosition = Vector3.zero;
Here is a video : Video
Can anyone show me the direction where I do the mistake?
Thanks!
|
|
|
Collision works buggy |
Posted by: boulder - 11-05-2021, 01:33 AM - Forum: Obi Rope
- Replies (3)
|
 |
Hi,
I have some problems with collisions. I am using the code below for each collision to get the touching each other rope but it gives wrong/inconsistent data.
Here each rope touching each other should be having darker tone. I tried different settings and it did not change. Ropes are in the same z-axis and they definitely touch as I checked from different angles. Surface collision is open, all works as expected, I am using the latest 6.0.1 version.
Here is a video : Video
Do anyone having the same issue who can help me? 
Thanks!
Code: using UnityEngine;
using Obi;
public class RopeCollision : MonoBehaviour
{
ObiSolver solver;
void Start()
{
solver = GetComponent<ObiSolver>();
solver.OnParticleCollision += Solver_OnCollision;
}
void OnDisable()
{
solver.OnParticleCollision -= Solver_OnCollision;
}
void Solver_OnCollision(object sender, ObiSolver.ObiCollisionEventArgs e)
{
var world = ObiColliderWorld.GetInstance();
foreach (Oni.Contact contact in e.contacts)
{
var pa = solver.particleToActor[contact.bodyA];
var po = solver.particleToActor[contact.bodyB];
if (pa == null || po == null)
return;
if (pa.actor.gameObject.name != po.actor.gameObject.name)
{
//print(pa.actor.gameObject+" , "+ po.actor.gameObject);
GameManager.Instance.Colliding(pa.actor.gameObject, po.actor.gameObject);
}
}
}
}
|
|
|
|