|
|
Can ObiBone work with Softbody? |
Posted by: spikebor - 08-05-2024, 03:36 PM - Forum: Obi Softbody
- No Replies
|
|
Hi, I have this dummy.
I want to have the bag part to use softbody, and other rigid part to use ObiBone.
So far, after the setup and bind skin, I notice only the softbody takes effect, even though I had painted the influence for the rigid part black.
I think using both in a setup will be neat, the ObiBone can simulate the part is black, not just ignored completely.
So that's like a wishlist for new feature.
For now, I'll use a fullbody softbody setup and attach the rigid part to bone.
The downside of this setup versus ObiBone is obi bone is much more alive, if you collide with the environment the bone will bend.
The fullbody softbody can bend ofcourse, but the rigid part of it which attached to character bone will stay rigid.
If there is any better ideas please tell me, thanks.
|
|
|
OBI7 Surface Texture Rendering (Lava) discussion |
Posted by: spikebor - 07-05-2024, 03:40 PM - Forum: Obi Fluid
- Replies (16)
|
|
Hi, I'm unable to edit the Foam shader, but I have a suggestion, try this if you're interested.
Using 1 Alpha + Life time info as threshold (0-1) will result in dissolve effect
If you can change the foam shader into this, we can have 5x-10x bigger foam, more coverage and dissolve effect over time with lesser foam count.
I've pack a texture that have parabol for main alpha ® + foam alpha circle (G) + foam alpha directional (B) as dissolve step.
The texture is made in Substance Designer, is free to pack into the final Obi package if you want.
https://drive.google.com/file/d/1aLCCs3I...sp=sharing
If you can pass the foam movement direction as UV, can use the B channel, else can use G channel.
|
|
|
Frequent crash after assign the FluidPassCompute |
Posted by: spikebor - 07-05-2024, 10:51 AM - Forum: Obi Fluid
- Replies (11)
|
|
Before I add the FluidPassCompute, the Fluid only crash when I give it too small voxel size and/or too small Max Surface Chunks value.
But after adding the FluidPassCompute, I have many frequent crash (suppose not related to above fields since I've adjusted them)
Now it's likely crash when I enter or exit Play mode.
The log when crashed
Code: D3D11: Failed to create RenderTexture (8 x 8 fmt 9 aa 1), error 0x887a0005
D3D11: Failed to create RenderTexture (8 x 8 fmt 53 aa 1), error 0x887a0005
d3d11: failed to create staging 2D texture w=64 h=64 d3dfmt=2 [887a0005]
Failed to present D3D11 swapchain due to device reset/removed.This error can happen if you draw or dispatch very expensive workloads to the GPU, which can cause Windows to detect a GPU Timeout and reset the device. (see https://docs.microsoft.com/en-us/windows-hardware/drivers/display/timeout-detection-and-recovery).If you believe this error is due to built-in Unity functionality, please submit a bug.This is an unrecoverable error and the editor will shut down.
Also, this is the error in that is frequently shown after I added the FluidPassCompute asset.
Code: RTHandle.Initialize should only be called once before allocating any Render Texture. This may be caused by an unreleased RTHandle resource.
Unreleased RTHandles:
_Foam
UnityEngine.Rendering.RTHandles:Initialize (int,int,bool)
Obi.ObiFluidRendererFeature:Create () (at Assets/Obi/Scripts/Fluid/Rendering/URP/ObiFluidRendererFeature.cs:27)
UnityEngine.Rendering.Universal.UniversalAdditionalCameraData:OnDestroy () (at Library/PackageCache/com.unity.render-pipelines.universal@14.0.9/Runtime/UniversalAdditionalCameraData.cs:819)
Full Editor Log in the attachment.
Don't know why I can't add attachment (it rotating icon), link https://drive.google.com/file/d/18iCalYf...sp=sharing
|
|
|
(7.0) Still confused about how Obi physics updates in 7.0 |
Posted by: kodra - 07-05-2024, 09:38 AM - Forum: General
- Replies (4)
|
|
Quote:In Obi 7 all solvers always run in parallel. Simulation starts in LateUpdate(), while still using a fixed timestep. This combines the best features from all ObiUpdater flavors and simplifies setup, as a result, the ObiUpdater component has been removed.
I still don't get it. LateUpdate() is called every frame. It's frame rate dependent. Then how Obi solvers runs in LateUpdate() while using a fixed timestep at the same time?
If I have game logic in LateUpate() (for example, update the bone's position), does Obi solver updates before or after it?
|
|
|
Obi7 | I made a pool |
Posted by: spikebor - 07-05-2024, 06:10 AM - Forum: Obi Fluid
- Replies (5)
|
|
So happy I can make a pool now
This is not able with earlier versions of Obi whoo.
I'm just testing with a pool size width 20x10 height 3m
To cover this pool, I used extremely big particle (resolution 0.02, count 15k) on a RTX 3070.
Tbh I do not expect a swap chain crash with just 15k particle, since Unity CPU shuriken only has problem at 10k, so I don't think 15k is heavy for GPU.
But the pool will crash when it about to reach 11k particle.
After more testing, I found out this crash is about the Memory Budget foldout. After I set Max Surface Chunks to 150k (425mb) it can run now, but the GPU cry for help
This is a very important part that will crash Unity if not properly set, so I suggest: when the Emitter detect user give it a very big particle count blueprint, can show a big red warning box telling user must scale the max Surface Chunks accordingly, or even better, suggest a value to set.
Also, in PlayMode the Solver only show Chunks and memory we set, not the Chunks and memory we used up.
Suggest adding to the display used up Chunks / set Chunks . With that I can set the Max Surface Chunks with better value. For now, I can only blindly set. The values I set may be much more than it actually need.
Window Build test: 20ms for this pool, optimization tips please?
Btw, the pool is there, I'll move next to scripting buoyancy, if you please can give some demo code about adding force based on character volume displacement inside the Fluid that would be big help!
|
|
|
Obi7Beta | Fluid can not work with paused game and UI |
Posted by: spikebor - 06-05-2024, 06:12 PM - Forum: Obi Fluid
- Replies (2)
|
|
Hi, happy to have my first bug report for Obi 7 . The problem:
In my UI code, when menu opened, game is paused by setting
Code: Time.timeScale = Mathf.Epsilon;
Game is paused, but my UI can still work, I can click button and that button clicked will do some action.
This UI document can work with any scene, but when I open a Fluid scene (sample: ComputeFluids), when play the game and open UI menu, I can move the focus, but cannot click any button. Essentially, the "consume click" event of the UI Document is somehow stopped working?
So, my conclusion is Compute Fluid has some bug with Time.timeScale = Mathf.Epsilon; that will mess up my UI. It is not frozen, just not consume clicks.
Also, I suggest for a feature to pause ObiSolver from updating. Currently I can only disable ObiSolver when I do not want it to update, but by doing so, for example the Fluid, it will disappear. If the Fluid stop updating but still render, it can be neat for a stop time gameplay feature.
|
|
|
Setting angular velocity of a kinematic body is not supported |
Posted by: vrtraining - 06-05-2024, 02:38 PM - Forum: Obi Rope
- Replies (1)
|
|
Im getting this error
Code: Setting linear velocity of a kinematic body is not supported.
If I manually set my Game Object Rigidbody to Kinematic during runtime, I keep getting this error. Its coming from ObiRigidBody.cs
Code: private void UpdateKinematicVelocities(float stepTime)
{
// differentiate positions/orientations to get our own velocites for kinematic objects.
// when calling Physics.Simulate, MovePosition/Rotation do not work correctly. Also useful for animations.
if (unityRigidbody.isKinematic)
{
// differentiate positions to obtain linear velocity:
unityRigidbody.velocity = (transform.position - prevPosition) / stepTime;
// differentiate rotations to obtain angular velocity:
Quaternion delta = transform.rotation * Quaternion.Inverse(prevRotation);
unityRigidbody.angularVelocity = new Vector3(delta.x, delta.y, delta.z) * 2.0f / stepTime;
}
prevPosition = transform.position;
prevRotation = transform.rotation;
}
Any idea that I could suppress or get rid of this warning? Im using latest 6.5 version with Unity 2023.2.19f
|
|
|
|