|
|
What's the constraint between skeletal particles and bones? And can I disable it? |
Posted by: kodra - 08-04-2024, 07:30 PM - Forum: Obi Softbody
- Replies (3)
|
|
When the "Skeleton Sampling" is enabling when generating particles from the softbody blueprint editor, the generated particles since to move along with the bones. My questions are:
1. What's the constraint taking place here? Distance? Pin? Shape matching?
2. Can I disable it? In other words, I'd like the particles to be generated at the positions of the bones, but I'd like them to work just like volume particles and surface particles: bound to other particles by shape matching constraints, but not bound to the bone.
|
|
|
Emitter from mesh vertices? |
Posted by: kodra - 08-04-2024, 04:22 AM - Forum: Obi Fluid
- Replies (2)
|
|
Is it possible to just assign a mesh to ObitEmitter and make it emit one particle per vertex? I don't want to voxelize the mesh or anything. Just emitting from each vertex.
|
|
|
How can I make Fluid not look like grains? |
Posted by: KBTIT_ - 07-04-2024, 03:20 AM - Forum: Obi Fluid
- Replies (2)
|
|
ObiParticleRenderer Obi Solver and Obi Emitter look like grains, not liquid.
Using a blueprint that looks like a liquid and uses "FluidViscosity" And "FaucetAndBucket" in the Sample did not solve this problem.
This Obi Fluid Renderer description may be relevant.
http://obi.virtualmethodstudio.com/manua...ering.html
However, specifying the Emitters placed in the scene in the Particle Renderers of the Obi Fluid Renderer did not change the appearance.
Also, all the Obi Fluid Renderer values for "FaucetAndBucket" in the sample "FluidViscosity" look default.
|
|
|
What are "fixed particles"? |
Posted by: kodra - 06-04-2024, 07:35 PM - Forum: Obi Softbody
- Replies (1)
|
|
The API document of ObiSoftbody has this description:
Quote:override void Obi.ObiSoftbody.UpdateParticleProperties()
Recalculates shape matching rest state.
Recalculates the shape used as reference for transform position/orientation when there are no fixed particles, as well as the rest shape matching state. Should be called manually when changing the amount of fixed particles and/ or active particles.
I wonder what "fixed particles" and "active particles" are, as I can't find a way to paint a particle fixed or active in the blueprint editor. Does "fixed" just mean the particles attached by ObiParticleAttachment, or are they two different things?
|
|
|
Disable/Enable ObiSoftbodySkinner at runtime? |
Posted by: kodra - 06-04-2024, 12:10 PM - Forum: Obi Softbody
- Replies (5)
|
|
I'd like to disable ObiSoftbodySkinner at runtime and make the mesh deformation controlled by SkinnedMeshRenderer again, and reenable it at some condition.
The first time disabling it works. However, if I enable ObiSoftbodySkinner again after disabling it, I get this error:
Code: InvalidOperationException: The previously scheduled job BurstShapeMatchingConstraintsBatch:ShapeMatchingConstraintsBatchJob writes to the UNKNOWN_OBJECT_TYPE ShapeMatchingConstraintsBatchJob.restComs. You are trying to schedule a new job BurstShapeMatchingConstraintsBatch:ShapeMatchingCalculateRestJob, which writes to the same UNKNOWN_OBJECT_TYPE (via ShapeMatchingCalculateRestJob.restComs). To guarantee safety, you must include BurstShapeMatchingConstraintsBatch:ShapeMatchingConstraintsBatchJob as a dependency of the newly scheduled job.
Unity.Jobs.LowLevel.Unsafe.JobsUtility.ScheduleParallelFor (Unity.Jobs.LowLevel.Unsafe.JobsUtility+JobScheduleParameters& parameters, System.Int32 arrayLength, System.Int32 innerloopBatchCount) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
Unity.Jobs.IJobParallelForExtensions.Schedule[T] (T jobData, System.Int32 arrayLength, System.Int32 innerloopBatchCount, Unity.Jobs.JobHandle dependsOn) (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
Obi.BurstShapeMatchingConstraintsBatch.CalculateRestShapeMatching () (at Assets/ThirdParty/Obi/Scripts/Common/Backends/Burst/Constraints/ShapeMatching/BurstShapeMatchingConstraintsBatch.cs:147)
Obi.ObiShapeMatchingConstraintsBatch.RecalculateRestShapeMatching () (at Assets/ThirdParty/Obi/Scripts/Common/Blueprints/Constraints/Batches/ObiShapeMatchingConstraintsBatch.cs:232)
Obi.ObiSoftbody.RecalculateRestShapeMatching () (at Assets/ThirdParty/Obi/Scripts/Softbody/Actors/ObiSoftbody.cs:194)
Obi.ObiSoftbody.UpdateParticleProperties () (at Assets/ThirdParty/Obi/Scripts/Softbody/Actors/ObiSoftbody.cs:243)
Obi.ObiSoftbodySkinner.BindBoneParticles () (at Assets/ThirdParty/Obi/Scripts/Softbody/Rendering/ObiSoftbodySkinner.cs:261)
Obi.ObiSoftbodySkinner.Softbody_OnBlueprintLoaded (Obi.ObiActor a, Obi.ObiActorBlueprint blueprint) (at Assets/ThirdParty/Obi/Scripts/Softbody/Rendering/ObiSoftbodySkinner.cs:199)
Obi.ObiSoftbodySkinner.OnEnable () (at Assets/ThirdParty/Obi/Scripts/Softbody/Rendering/ObiSoftbodySkinner.cs:130)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
I get this with Obi 7. I didn't test if it happens with 6.4.
Changing influence seems to be impossible either at runtime?
My guess (not a very educated one) is that it has something to do with Obi 7's new asynchronized mode. In synchronized mode this error doesn't happen. In asynchronized mode it happens sometimes.
|
|
|
Read influence from a texture or vertex color instead of painting in Unity? |
Posted by: kodra - 05-04-2024, 05:46 PM - Forum: Obi Softbody
- Replies (4)
|
|
ObiSoftbodySkinner has a "Paint Influence" feature. It works okay for simple meshes, but for more complex meshes it's quite hard to paint the influence precisely in Unity's scene view.
I think instead of painstakingly paint it in Unity, it'd be much much easier for me to paint it as a texture (or vertex color) in a proper 3D DCC then import it to ObiSoftbodySKinner. Especially that Obi 7.0 has a "SkinMap" structure that seems to be for this purpose. But I don't know how. Is it possible?
|
|
|
|