Search Forums

(Advanced Search)

Latest Threads
Rope disappears when came...
Forum: Obi Rope
Last Post: josemendez
11 hours ago
» Replies: 7
» Views: 195
Collisions do not happens...
Forum: Obi Rope
Last Post: quent_1982
21-05-2025, 12:00 PM
» Replies: 2
» Views: 200
Unstable chain attachment
Forum: Obi Rope
Last Post: quent_1982
17-05-2025, 10:31 AM
» Replies: 13
» Views: 791
Memory leak warning with ...
Forum: Obi Fluid
Last Post: josemendez
16-05-2025, 02:07 PM
» Replies: 4
» Views: 514
the Obi cloth has some co...
Forum: Obi Cloth
Last Post: MakeLifeEasier
16-05-2025, 08:59 AM
» Replies: 3
» Views: 320
ObiCloth going through co...
Forum: Obi Cloth
Last Post: josemendez
16-05-2025, 08:10 AM
» Replies: 1
» Views: 138
Why does setting InverseM...
Forum: Obi Fluid
Last Post: nonnamed
13-05-2025, 12:41 PM
» Replies: 8
» Views: 11,875
Shaking problem when coll...
Forum: Obi Softbody
Last Post: webmagic
13-05-2025, 12:11 PM
» Replies: 6
» Views: 448
Obi Softbody IndexOutOfRa...
Forum: Obi Softbody
Last Post: Aroosh
11-05-2025, 11:37 AM
» Replies: 2
» Views: 259
Rope pinned to two dynami...
Forum: Obi Rope
Last Post: Crimson1462
09-05-2025, 07:51 PM
» Replies: 2
» Views: 357

 
Triste Character Skirt Change Position on Play
Posted by: deividkamui - 02-05-2019, 11:05 PM - Forum: Obi Cloth - No Replies

Hi, I just bought the Obi Cloth:


I'm trying to integrate Obi Cloth to my current project for skirt simulation for my characters. I followed the tutorial: http://obi.virtualmethodstudio.com/tutor...thing.html

However when I play my game the skirt change its position and practically undress my character.

I'm using Unity 2019.1.0f2


[attachment=349]

[attachment=350]

Print this item

  URGENT: iOS Crash, Unity 2018.3.14
Posted by: jlanis - 02-05-2019, 08:32 PM - Forum: Obi Rope - Replies (18)

Crash occurs on iOS (iPhone X, iOS 12.2) device shortly after the app starts. Note that this crash does not occur in the Unity editor or on Android. Using the latest version of ObiRope and Unity 2018.3.14. Crash log is pasted below:


Code:
Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0xe000000000000010
VM Region Info: 0xe000000000000010 is not in any region.  Bytes after previous region: 16140901053221568529  
     REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
     MALLOC_NANO            0000000280000000-00000002a0000000 [512.0M] rw-/rwx SM=PRV  
--->  
     UNUSED SPACE AT END

Triggered by Thread:  0

Thread 0 Crashed:
0   ProductName                   0x0000000103425750 Oni::TaskQueue::NextTask+ 21026640 (std::__1::shared_ptr<Oni::Task>*) + 156
1   ProductName                   0x00000001034257fc Oni::TaskManager::DoTask+ 21026812 () + 44
2   ProductName                   0x0000000103419d1c Oni::Solver::ApplyPositionInterpolation+ 20978972 (unsigned int, float) + 6188
3   ProductName                   0x00000001039f68d0 Oni_ApplyPositionInterpolation_m3B1DC6EDDB01EBAED38CBCD4062D222EC2245707 + 27125968 (Bulk_Obi_3.cpp:29919)
4   ProductName                   0x00000001039f60ac ObiSolver_EndFrame_m24D9FA67575A13419D43443C1A7E4406F3930C43 + 27123884 (Bulk_Obi_3.cpp:17306)
5   ProductName                   0x00000001039fa7d4 ObiSolver_LateUpdate_m65353C862A1A9B63EB63D9AD9163FF7D0D9973F5 + 27142100 (Bulk_Obi_3.cpp:18852)
6   ProductName                   0x0000000102309330 RuntimeInvoker_TrueVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017(void (*)(), MethodInfo const*, void*, void**) + 3085104 (Il2CppInvokerTable.cpp:24647)
7   ProductName                   0x00000001033abe1c il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void**, Il2CppException**) + 20528668 (Runtime.cpp:539)
8   ProductName                   0x0000000102caa854 scripting_method_invoke(ScriptingMethodPtr, ScriptingObjectPtr, ScriptingArguments&, ScriptingExceptionPtr*, bool) + 13183060 (ScriptingApi_Il2Cpp.cpp:246)
9   ProductName                   0x0000000102cb4e54 ScriptingInvocation::Invoke(ScriptingExceptionPtr*, bool) + 13225556 (ScriptingInvocation.cpp:347)
10  ProductName                   0x0000000102cc05e4 MonoBehaviour::CallUpdateMethod(int) + 13272548 (MonoBehaviour.cpp:578)
11  ProductName                   0x00000001028e6520 void BaseBehaviourManager::CommonUpdate<LateBehaviourManager>() + 9233696 (Behaviour.cpp:156)
12  ProductName                   0x00000001028e6494 LateBehaviourManager::Update() + 9233556 (Behaviour.cpp:207)
13  ProductName                   0x0000000102a9b2c4 InitPlayerLoopCallbacks()::PreLateUpdateScriptRunBehaviourLateUpdateRegistrator::Forward() + 11023044 (Player.cpp:1530)
14  ProductName                   0x0000000102a938bc ExecutePlayerLoop(NativePlayerLoopSystem*) + 10991804 (PlayerLoop.cpp:347)
15  ProductName                   0x0000000102a93918 ExecutePlayerLoop(NativePlayerLoopSystem*) + 10991896 (PlayerLoop.cpp:365)
16  ProductName                   0x0000000102a93b34 PlayerLoop() + 10992436 (PlayerLoop.cpp:419)
17  ProductName                   0x0000000102fb2248 UnityPlayerLoopImpl(bool) + 16360008 (LibEntryPoint.mm:269)
18  ProductName                   0x000000010202ba7c UnityRepaint + 80508 (UnityAppController+Rendering.mm:276)
19  ProductName                   0x000000010202ba30 -[UnityAppController(Rendering) repaint] + 80432 (UnityAppController+Rendering.mm:90)
20  ProductName                   0x000000010202b978 -[UnityAppController(Rendering) repaintDisplayLink] + 80248 (UnityAppController+Rendering.mm:71)
21  QuartzCore                     0x000000020d87f668 CA::Display::DisplayLink::dispatch_items+ 71272 (unsigned long long, unsigned long long, unsigned long long) + 632
22  QuartzCore                     0x000000020d94c4a0 display_timer_callback+ 910496 (__CFMachPort*, void*, long, void*) + 276
23  CoreFoundation                 0x00000002093f4604 __CFMachPortPerform + 192
24  CoreFoundation                 0x000000020941c000 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 60
25  CoreFoundation                 0x000000020941b6f8 __CFRunLoopDoSource1 + 444
26  CoreFoundation                 0x0000000209416290 __CFRunLoopRun + 2060
27  CoreFoundation                 0x0000000209415764 CFRunLoopRunSpecific + 452
28  GraphicsServices               0x000000020b651dd4 GSEventRunModal + 108
29  UIKitCore                     0x000000023636c00c UIApplicationMain + 216
30  ProductName                   0x000000010201cfa4 main + 20388 (main.mm:41)
31  libdyld.dylib                 0x0000000208ed4ffc start + 4

Print this item

  Switching between 3D and 2D mode in runtime?
Posted by: Yelmer - 02-05-2019, 02:46 PM - Forum: Obi Fluid - Replies (1)

Is there any way to swap between 2D and 3D mode on a obi solver (fluids) in runtime? I am trying to access the variable/parameter trough scripting, but I can not find a "Mode" on the Obisolver. Either I am looking in the wrong place - or the answer is "no you can not"? Sonrisa

And since someone always asks "Why would you want to do that" let me clarify that I understand I can not do both 2d and 3d at the *same* time.  Guiño 
It just would like using the same one solver and swap between 3d and 2d mode and keep all other settings - instead of setting up another one and point emitters back and forth and make sure all things match up. It is a visual effect thing that happens in between some other things in a visual art thing.

Print this item

  How To Stop Obi Fluid Renderer From Considering Reflection
Posted by: Komsur - 02-05-2019, 10:43 AM - Forum: Obi Fluid - Replies (1)

Hello,

I've isolated a problem with the way Obi handles reflection. To fix my problem simply, I need to know where the Fluid Renderer is considering reflection, and disable it entirely.

If anybody could help, that would be great.

Thanks in advance, I look forward to swift replies Sonrisa

Print this item

Exclamación Obi Fluid Renderer is Buggy and Particles Lose Colour
Posted by: Komsur - 01-05-2019, 10:43 AM - Forum: Obi Fluid - No Replies

Hi,

I've encountered another issue. When I look slightly away from the particles that have been spawned, they lose their colour and look washed out. I'm using the Fluid Renderer component on my main camera.

Any ideas?

EDIT #1: I'm using Deferred lighting, and swapping to the other versions of lighting in the camera to Forward solves the issue, Use Graphics Settings and Deferred (which we've built our project around) have the issue.

EDIT #2: It's to do with the reflection probe in the scene. I turned it off and the problem was solved, but when I turned it on again and put the particle on another layer and this didn't work.

EDIT #3: I began work on another particle effect because I can't proceed until this is fixed. The particle isn't related to Obi Fluid, but it fixes the issue when it's active. When it's inactive the problem reappears.

EDIT #4: Further testing has revealed that the error is present with all Obi particles regardless of position, rotation, etc. It is to do with the Fluid Renderer script that can be attached to the camera.

EDIT #5: It's not to do with directional lights. I turned them off and the problem persisted.

Print this item

  How to optimize particles without leaving green particles around.
Posted by: Crocomodo - 01-05-2019, 07:49 AM - Forum: Obi Softbody - Replies (1)

Optimize particle always leaves green particles(fixed particles) around blue particles. Those remaining green particles still get used to skinned mesh and affected by the parent's transform. This becomes a problem for my skinned character. Let's say I want the arm to be a Softbody which is parented to a shoulder joint. When I rotate the shoulder joint, Those green particles that creep onto the shoulder area will rotate at full skinned weight causing ugly transformation.

It would be best if we have custom bind functionality so we can precisely paint skin weight on each vertex for each particle. Or at least, just get rid of those green particles and let the original skinned weight to do its job to transform those vertices on the transitional area between Softboded vertices and normal verticed.

Print this item

  How to retain stiffness when using many small particles?
Posted by: Crocomodo - 01-05-2019, 01:48 AM - Forum: Obi Softbody - Replies (2)

I need to use one particle per vertex which in turns, automaticallay cause softbody to lose stiffness. The problem is it become too soft and the stiffness slider(on Shape Matching Constraints) only goes up to 1. Any suggestion?

Print this item

  Obi tearable cloth
Posted by: Richard - 30-04-2019, 03:52 PM - Forum: Obi Cloth - Replies (6)

I asked almost same question, but I could not get sign of when it is torn. I want an example to achieve.

Print this item

  Unity Job System with Oni
Posted by: TimLewis - 30-04-2019, 02:48 PM - Forum: General - Replies (1)

Hey Virtual Method guys!

I work for an indie studio using Obi Fluid and Rope in the production of one of our current development projects, so far to fantastic effect!

I've been extending the systems provided to match our game's requirements and so far have implemented things like :

- Container Volumes which allow a container to preserve particles within them, to allow the rest of the particles to have a short lifespan to reduce overhead.
- Fluid makeups within containers to cache the percentages of the fluids within a container, adjusting how much is in each etc.
- Leave stains and trails on collision by writing to a render texture with colour matching from the particles.

And quite a bit more - so far this system has been extremely adaptable and truly you guys deserve a lot of credit for a brilliant system!

This next level of optimisation though is something quite important to the performance of our game, so I wanted to ask your opinions before I committed to it for our next milestone.

We do lots of things with collisions, especially with fluid particle collisions, and some of the more intricate containers in our games are made up of quite a few primitive colliders, and so when subscribing to Oni's collision events like so:

Code:
foreach (Oni.Contact contact in e.contacts)
{
    // this one is an actual collision:
    if (contact.distance < MIN_REQUIRED_PARTICLE_COLLISION_DISTANCE)
    {
        Component collider;
        if (ObiCollider.idToCollider.TryGetValue(contact.other, out collider))
        {
        }
    }
}
 
we'll sometimes be looping through 7000+ contact points (for multiple containers all full of fluid). While most of these early out since they don't come inside the collision distance (we're also working to 1 Unit = 1metre, however these containers are the size of bowls which are obviously quite small - to the point where the collision distance is tiny (0.0001f)).

One solution I've made with some improvements to performance is to interleave looping contacts over frames (normally around 6 frames per cycle), caching contacts on frame 0 and looping over a chunk of the collisions over the following frames, before resetting after 6.

This isn't ideal though as to scale this we'd start running into collisions being missed! So this got me thinking about multi-threading as a potential next solution.

(Long intro!) So my question is have you experimented with running something like this through Unity's ECS feature? I have some experience using ECS systems, and Unity's one in particular, so I'm comfortable setting that up, however I wanted to know answers to any of these:

1) you had any alternative ideas to multi-threading?
2) you've used Obi with ECS?
3) there is a way to minimize the amount of contacts made (lowering the distance for collisions to be registered in a Solver?
4) masking layers for Oni Collisions, to allow us to only subscribe to collision events between certain layers? (It would be fantastic if I could mask out the collisions so that it was only the Container Volumes 1 trigger volume, and the particles firing collision events).
5) is it possible to subscribe to collision events that happen on particular colliders?

Massively appreciate your time and support on this, as Fluid simulation is quite a large part of our game we're working on, and we'd love to be able to keep going with this solution up to release, so your time is really valuable to me!

Thanks in advance,

Tim

Print this item

  Problem with a rope behavior
Posted by: Laura - 30-04-2019, 11:56 AM - Forum: Obi Rope - Replies (2)

Hi!

I have a problem with the ropes. I put some ropes in a crane to move a big panel, as you can see in the video.
When the animation moves the crane up, left or right, the ropes have a good behavior, but when the animation moves the crane down the ropes have a strange behavior, and I don´t know why.

[attachment=346]

This is my solver setup.

[attachment=347]

And my rope setup.

[attachment=348]

Thanks in advance.

Laura.

Print this item