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