How to add a layer with a thickness over a ViP model, e.g., clothing?
-
I think the Mesh Doctor should be available in Sim4Life for science. I think it is part of the basic framework.
Regarding your second question, you have two options:
- you extrude multiple times with different thickness value. this will create overlapping regions - in the voxeler you need to specify the priorities
- you create a patch on the first layer (only the outer surface) and extrude from there (see animation below)
-
-
Hi,
Just to confirm, would the clothing deform with soft tissues if the pose of the model is changed?
Thanks,
Vignesh -
@VigneshYork you can assign the clothing surface model as "User Defined Mesh" in the Poser tool. After doing this, the clothing entity will have a lock symbol, because is linked to the posable model.
While the deformation assumes the user-defined mesh is inside the body, it should behave correctly for thin layers on the skin. For mesh parts that are outside the body, the implementation will use nearest-neighbor interpolation to extrapolate the deformation.
-
Hello Bryn,
Thank you. Would like to confirm two additional points:
- Can this be applied to antennas also? I would like to mimic wearable antennas in different poses without having to move them at each pose?
- Can posing followed by simulation we done programatically so that it is automated without needing for manual meshing after posing ?
Thanks
-
hi @VigneshYork.
I recently wrote a script to transform a phone following the movement of a triangle in the posable model (or three vertices), e.g., on the hand. Simply assigning the phone as "User Defined Mesh" may not work nicely, since you
- have to convert the phone to a triangle mesh
- the phone may deform (unrealistic)
instead, you can do the following:
- you create three vertices, e.g. on the skin near where the phone is placed (unposed)
- you add these vertices as "User Defined Meshes"
- you store the initial position of the three points (e.g. on the hand):
tri_0 = [verts[0].Position, verts[1].Position, verts[2].Position]
- you compute the position of the three points in a different posture:
tri_p = [verts[0].Position, verts[1].Position, verts[2].Position]
- you compute the rigid transformation from the base triangle
tri_0
to the posed triangletri_p
- this can be done using:
tr = XCoreMath.RigidTransform(tri_0, tri_p)
- apply this relative transform to the EntityGroup containing the phone/device:
phone_group.ApplyTransform(tr)
You can also programmatically (maybe since Sim4Life 7.2, or in the upcoming 8.0) apply different postures stored in a posture file using the Python API (see attached file apply_postures.py for reference)
-
Hi Bryn,
Thanks. I shall try that today. Just to check, would it work in sim4life 7.0.1 (the version I have)?
Thanks
-
available in 7.2
XCoreMath.RigidTransform
XPoser.ApplyPosture
XPoser.CloneAsStatic
available in 7.0.1
XCoreMath.RigidTransform
please note these API functions are not yet in the
s4l_v1
, i.e. the signature may change if we believe it improves the feature. -
Thank you
-
How to save postures in a folder? I tried cloning the model as static after posing but not sure how to save the file as *.pose?
-
- to store the current posture, type a name and press "Store Posture As". this will add the posture to the list above
- to delete one of the postures, press the "X" button next to the posture
- to export the postures press "Export" and type a filename
- to import press "Import"
-
Hi,
Thank you.
Regards,
Vignesh -
Hello,
Sorry I am facing an issue with moving antennas to different locations based on the steps above. I used three points on the skin and calculated the transformation between static and posed states. I used this transformation to transform the antenna position to the new position (using RigidTransform and ApplyTransform functions).
However I get errors that the antenna source edge is within a solid. I have changed priorities during voxelling providing antennas higher priority but the errors still exist. What can I do? I would like to move antennas in a similar fashion to how soft tissues deform.
Thanks
Vignesh -