Search Forums

(Advanced Search)

Latest Threads
Invalid Skinmap in Cloth ...
Forum: Obi Cloth
Last Post: josemendez
4 hours ago
» Replies: 1
» Views: 78
Collision Rope / Cloth
Forum: Obi Cloth
Last Post: josemendez
4 hours ago
» Replies: 2
» Views: 88
Skinned Mesh Renderer beh...
Forum: Obi Fluid
Last Post: josemendez
5 hours ago
» Replies: 7
» Views: 120
Should actor massScale af...
Forum: Obi Rope
Last Post: Qriva0
Yesterday, 05:04 PM
» Replies: 14
» Views: 914
Accuracy of Fixed Positio...
Forum: Obi Rope
Last Post: josemendez
22-10-2025, 08:17 AM
» Replies: 1
» Views: 258
Mixing 2D and 3D Physics ...
Forum: General
Last Post: josemendez
20-10-2025, 10:24 AM
» Replies: 1
» Views: 256
SDF interpolation
Forum: General
Last Post: josemendez
12-10-2025, 10:36 PM
» Replies: 7
» Views: 1,003
Built in renderer: fluid ...
Forum: Obi Fluid
Last Post: josemendez
10-10-2025, 09:46 AM
» Replies: 1
» Views: 246
How to get collision impu...
Forum: General
Last Post: Qriva0
09-10-2025, 02:58 PM
» Replies: 3
» Views: 438
Obi Fluid 7 Transparent F...
Forum: Obi Fluid
Last Post: deatheragenator
09-10-2025, 01:53 PM
» Replies: 19
» Views: 11,631

 
  Can I copy ObiCloth settings?
Posted by: Sest14 - 19-03-2018, 02:36 PM - Forum: Obi Cloth - No Replies

Hi.


I completed the setting of ObiCloth (constraint, editing of particles, etc.) for FBX model clothes once.

However, I have to update the FBX for skin weight adjustment etc.

It is hard to do the same setting again.
Can I copy settings to a mesh with the same topology and vertex number?

Print this item

Triste Sticky cloth not working
Posted by: skywaver - 19-03-2018, 09:05 AM - Forum: Obi Cloth - Replies (1)

http://obi.virtualmethodstudio.com/tutor...sions.html

[Image: sticky.gif]

At last part of that link, I saw a ball is sticked to cloth.

I added "Very sticky" collision material to cloth, but my ball doesn't stick to cloth..

How can I do this? Thanks in advance Sonrisa

Print this item

  Test if rope is tense, and extend it in code
Posted by: usernameHed - 18-03-2018, 12:56 PM - Forum: Obi Rope - Replies (5)

Hello, i have a rope attached on 2 player. I want to test in c# if the rope is tense enougth, and if so, extend the rope (when the player it a button for exemple).

I have found in GrapplingHook the way to extend the rope, with [ObiRopeCursor].ChangeLength([ObiRope].RestLength +- value;
Now, how can I test if the rope is more or less tense ? I could test the distance maybe...

I just bougth Obi rope, please be explicit

[Image: ezgif-4-e6bff1cec6.gif]

Print this item

  Proxy for simulation from simple model to complex model
Posted by: Sest14 - 18-03-2018, 11:41 AM - Forum: Obi Cloth - Replies (3)

Hello.

I'd like to make a character wear a skirt using Obi Cloth. 
First, I created a simple cylindrical skirt and set up the simulation.
Next, I created a complex shaped skirt with many pleats and frills. 
And I tried to pour animation using a proxy, but it did not work well. 

https://www.fastpic.jp/index.php?module=...123744.png
Since it is a model before information disclosure, images can not be uploaded. sorry.

It looks like a thorn popping out from various places (mainly pleats and frills). It is the result of simply binding.
Both of skirts are not thick.

How can I solve this issue?

Environment:
Windows 7
Unity 5.6.3f1
ObiCloth 3.3

Edit:
Upload a image of issue
https://www.fastpic.jp/images.php?file=6483429385.png

Print this item

Triste No collision with the object
Posted by: mikechui - 17-03-2018, 04:52 PM - Forum: Obi Fluid - Replies (4)

Hi all,

I have set up the fluid (see attached) but there is no collision with the object.
Sorry to bother you all as I read the FAQ already but got stuck ><
Super thanks again!!

Best,

Mike

Print this item

  Adding pin constraints to a rope at runtime
Posted by: Chilly5 - 17-03-2018, 01:12 PM - Forum: Obi Rope - Replies (10)

Hello,

I am working on a game in Unity where I want to add pin constraints all the way down the Obi Rope at runtime. Every unit of the rope should be covered with a constraint. The idea is that I'm attaching selectable colliders that can be "grabbed" by the player and then swung on.

I copied almost exactly the code from the "adding/removing constraints" page on the website here: http://obi.virtualmethodstudio.com/tutor...aints.html
Unity didn't like a few of the casts so I modified it slightly, but it's more or less the same.

Here's my current script:


Code:
    [SerializeField]
    private GameObject _networkedGrabPoint;

    private ObiRope _obiRope;

    [SerializeField]
    private List<GameObject> _chainLinks = new List<GameObject>();

    [SerializeField]
    private List<GameObject> _ropeLinks = new List<GameObject>();

    void Start()
    {
        _obiRope = GetComponentInChildren<ObiRope>();
        _chainLinks = _obiRope.chainLinks;

        for (int i = 0; i < _obiRope.positions.Length; i++)
        {
            GameObject _ropeLink = GameObject.Instantiate(_networkedGrabPoint, transform);
            _ropeLink.transform.localPosition = _obiRope.positions[i];
            _ropeLinks.Add(_ropeLink);
        }
    }
    
    void Update () {
        if (Input.GetKeyDown(KeyCode.R))
        {
            ObiPinConstraints constraints = _obiRope.GetComponent<ObiPinConstraints>();
            ObiPinConstraintBatch batch = constraints.GetBatches() as ObiPinConstraintBatch;
            
            // remove the constraints from the solver, because we cannot modify the constraints list while the solver is using it.
            constraints.RemoveFromSolver(null);

            ObiCollider ropeLink = _ropeLinks[0].GetComponent<ObiCollider>();
            batch.AddConstraint(0, ropeLink as ObiColliderBase, Vector3.zero, 1.0f);

            // add all constraints back:
            constraints.AddToSolver(null);
            
        }
    }

Almost word for word copied from what was given on the website. For some reason it didn't like the line "(ObiPinConstraintBatch)constraints.Getbatches()[0]" so I modified it to "constraints.GetBatches() as ObiPinConstraintBatch".

Right now, it's giving me a "null reference exception: object reference not set to an instance of an object" error on this line: batch.AddConstraint(0, ropeLink as ObiColliderBase, Vector3.zero, 1.0f);

I don't understand why. I checked the ObiColliderBase and it seems to definitely exist so I don't know why it would give me a null reference error there.

Any help would be very appreciated!

Thank you.

Print this item

  Rope twitching at 30 fps
Posted by: Harpoon - 17-03-2018, 11:47 AM - Forum: Obi Rope - Replies (5)

Perhaps I'm doing something wrong but every time the FPS is below 60 the rope starts twitching.

Below is the example.

I've added some post processing to the camera to lower the fps.

Print this item

  Tips for improving performance?
Posted by: CageyKG - 17-03-2018, 03:05 AM - Forum: Obi Rope - Replies (2)

Are there any general guidlines or tips to follow in order to reduce Obi Rope’s CPU footprint? Obi currently more than halves my framerate when simulating and I’m looking to get it back down to acceptable VR speed. It seems like most of it comes from updating obi colliders (ObiSolver.FixedUpdate.UpdateColliders is around 30% of frame’s total time.) I’ve been pretty fast and loose with adding obi colliders around since a lot of the game is very up close to the ObiRope cables and I wanted them to interact well with things inside the VR space. Do I need to be more sparing with these?

The other large chunk comes from rendering with ObiSolver.LateUpdate…ObiRopeThichRenderMode.Update being another 25% of my frame’s time. Smoothing seems like the main culprit (drops to aroung 7% when changing smoothing from max 3 down to 0), but decreasing it doesn’t have pleasing results. Should I be using higher cable resolution or some other method to achieve less angular cables instead?

It’s also a huge multiplier on the physics update, increasing it by at least 2 times when the solver is enabled, sometimes more (running on a timestep of .01 with the default 6 solver iterations). Is this just part of the deal when it comes to running this solver, or does it seem like that should be reducable somehow as well?

The scene in question has around 20 cables with an average of around 15 particles each, 4 pins constraints each, hierarchical tethers, and full smoothing/rendering. The solver is set to skip skin, volume, stitch, and density, but does everything else on Sequential settings with 5 iterations. Solver reports that it’s only using 466 particles total, which seems well within a reasonable range, hence my looking elsewhere for spots to improve performance.

Print this item

  Advice on how to make a fine powder
Posted by: corbinyo`` - 16-03-2018, 03:35 PM - Forum: Obi Fluid - Replies (1)

Has anyone used obi fluid to make something similar to a fine powder, like baking soda or flour?

Print this item

  Adding ObiEmmitor gameObject in code
Posted by: shtolyan - 16-03-2018, 02:16 PM - Forum: Obi Fluid - Replies (10)

Hello! Thank you for the wonderful asset
Can you help me with the problem of creating an emitter in the code? The object is created on the scene, all obi objects are configured, but the render does not work.


[Image: -o3QSG2tnohlkRdAU6fe4bzLjCN7hFBsL7ufMg94...=2048x2048]

Here is my code:



public void Init()

        {

            GameObject emitterObject = new GameObject("emitter",

                typeof(ObiEmitter),

                typeof(ObiParticleRenderer));



            emitterObject.transform.position = gameObject.transform.position;

            emitterObject.transform.parent = gameObject.transform;



            _emitter = emitterObject.GetComponent<ObiEmitter>();

            _emitter.Solver = GameControllerObjects.Instance.ObiSolver;

            _emitter.NumParticles = 1000;

            _emitter.emissionMethod = ObiEmitter.EmissionMethod.STREAM;

            _emitter.speed = ((Liquid)VRAObject.Type).Speed;

            _emitter.lifespan = ((Liquid)VRAObject.Type).Lifespan;

            _emitter.randomVelocity = ((Liquid)VRAObject.Type).RandomVeloncity;

            _emitter.EmitterMaterial = GameControllerObjects.Instance.ObiEmitterMaterial;



            Color newCol = new Color();

            string htmlValue = "#" + ((Liquid)VRAObject.Type).ParticleColor;

            ObiParticleRenderer particleRenderer = emitterObject.GetComponent<ObiParticleRenderer>();

            if (ColorUtility.TryParseHtmlString(htmlValue, out newCol))

                particleRenderer.particleColor = newCol;

            particleRenderer.radiusScale = ((Liquid) VRAObject.Type).RadiusScale;

            GameControllerObjects.Instance.ObiFluidRenderer.particleRenderers.Add(particleRenderer);



            StartCoroutine(OnFinish());


        }

IEnumerator OnFinish()

        {

            yield return _emitter.StartCoroutine(_emitter.GeneratePhysicRepresentationForMesh());

            _emitter.AddToSolver(null);
        }


Also I have Exeption!
NullReferenceException: Object reference not set to an instance of an object
Obi.ObiActor.PushDataToSolver (ParticleData data) (at Assets/Obi/Scripts/Actors/ObiActor.cs:369)
Obi.ObiActor.AddToSolver (System.Object info) (at Assets/Obi/Scripts/Actors/ObiActor.cs:276)
Obi.ObiEmitter.AddToSolver (System.Object info) (at Assets/Obi/Scripts/Actors/ObiEmitter.cs:137)
Obi.ObiActor.Start () (at Assets/Obi/Scripts/Actors/ObiActor.cs:148)

Thank you!

Print this item