0b727785c6
Includes G20 PLAN/cmd_u8 bridge, joint mapping, dual-hand sim scripts, and G20/L20/O6 URDF with USD payloads for Isaac Sim integration. Co-authored-by: Cursor <cursoragent@cursor.com>
799 lines
24 KiB
Plaintext
799 lines
24 KiB
Plaintext
#usda 1.0
|
|
(
|
|
customLayerData = {
|
|
string creator = "URDF USD Converter v0.1.3"
|
|
}
|
|
doc = """Generated from Composed Stage of root layer /tmp/tmp5xni4jzi/linkerhand_g20_left.usdc
|
|
|
|
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/usdex_linkerhand_g20_left/linkerhand_g20_left.usdc
|
|
|
|
Generated from Composed Stage of root layer /tmp/urdf_import_linkerhand_g20_left_9306w6un/temp_linkerhand_g20_left/linkerhand_g20_left.usd
|
|
|
|
Generated from Composed Stage of root layer /home/lxqs/isaacsim/linkerhand/urdf/g20/left/linkerhand_g20_left/payloads/base.usd
|
|
"""
|
|
kilogramsPerUnit = 1
|
|
metersPerUnit = 1
|
|
upAxis = "Z"
|
|
)
|
|
|
|
def Scope "Instances"
|
|
{
|
|
|
|
def Xform "hand_base_link" (
|
|
prepend references = @./geometries.usd@</Geometries/hand_base_link>
|
|
)
|
|
{
|
|
over "hand_base_link" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/hand_base_link/VisualMaterials/material_1>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_1" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "hand_base_link_1" (
|
|
prepend references = @./geometries.usd@</Geometries/hand_base_link>
|
|
)
|
|
{
|
|
over "hand_base_link" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# Self-collision ON: palm visual-mesh collider (purpose=guide).
|
|
# Mid/proximal finger hulls stay OFF to avoid PD fist-end explode.
|
|
bool physics:collisionEnabled = 1
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals_base1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base1>
|
|
)
|
|
{
|
|
over "thumb_metacarpals_base1" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/thumb_metacarpals_base1/VisualMaterials/material_2>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_2" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals_base1_1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base1>
|
|
)
|
|
{
|
|
over "thumb_metacarpals_base1" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: CMC rest-pose convexHull overlaps palm.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals_base2" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base2>
|
|
)
|
|
{
|
|
over "thumb_metacarpals_base2" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/thumb_metacarpals_base2/VisualMaterials/material_3>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_3" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals_base2_1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals_base2>
|
|
)
|
|
{
|
|
over "thumb_metacarpals_base2" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: CMC rest-pose convexHull overlaps palm.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals>
|
|
)
|
|
{
|
|
over "thumb_metacarpals" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/thumb_metacarpals/VisualMaterials/material_4>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_4" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_metacarpals_1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_metacarpals>
|
|
)
|
|
{
|
|
over "thumb_metacarpals" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: open-pose convexHull embeds into palm → Instant NaN.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_proximal" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_proximal>
|
|
)
|
|
{
|
|
over "thumb_proximal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/thumb_proximal/VisualMaterials/material_5>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_5" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_proximal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_proximal>
|
|
)
|
|
{
|
|
over "thumb_proximal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: open-pose convexHull embeds into palm → Instant NaN.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_distal" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_distal>
|
|
)
|
|
{
|
|
over "thumb_distal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/thumb_distal/VisualMaterials/material_6>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_6" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "thumb_distal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/thumb_distal>
|
|
)
|
|
{
|
|
over "thumb_distal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# ON: tip vs palm only (shaft OFF for open-pose stability).
|
|
bool physics:collisionEnabled = 1
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "index_metacarpals" (
|
|
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
|
|
)
|
|
{
|
|
over "index_metacarpals" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_metacarpals/VisualMaterials/material_7>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_7" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_metacarpals_1" (
|
|
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
|
|
)
|
|
{
|
|
over "index_metacarpals" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "index_metacarpals_2" (
|
|
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
|
|
)
|
|
{
|
|
over "index_metacarpals" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_metacarpals_2/VisualMaterials/material_11>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_11" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_metacarpals_3" (
|
|
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
|
|
)
|
|
{
|
|
over "index_metacarpals" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_metacarpals_3/VisualMaterials/material_15>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_15" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_metacarpals_4" (
|
|
prepend references = @./geometries.usd@</Geometries/index_metacarpals>
|
|
)
|
|
{
|
|
over "index_metacarpals" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_metacarpals_4/VisualMaterials/material_19>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_19" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_proximal" (
|
|
prepend references = @./geometries.usd@</Geometries/index_proximal>
|
|
)
|
|
{
|
|
over "index_proximal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_proximal/VisualMaterials/material_8>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_8" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_proximal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/index_proximal>
|
|
)
|
|
{
|
|
over "index_proximal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "index_middle" (
|
|
prepend references = @./geometries.usd@</Geometries/index_middle>
|
|
)
|
|
{
|
|
over "index_middle" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_middle/VisualMaterials/material_9>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_9" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_middle_1" (
|
|
prepend references = @./geometries.usd@</Geometries/index_middle>
|
|
)
|
|
{
|
|
over "index_middle" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "index_middle_2" (
|
|
prepend references = @./geometries.usd@</Geometries/index_middle>
|
|
)
|
|
{
|
|
over "index_middle" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_middle_2/VisualMaterials/material_21>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_21" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_distal" (
|
|
prepend references = @./geometries.usd@</Geometries/index_distal>
|
|
)
|
|
{
|
|
over "index_distal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_distal/VisualMaterials/material_10>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_10" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "index_distal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/index_distal>
|
|
)
|
|
{
|
|
over "index_distal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# ON: fingertip contact under self-collision.
|
|
bool physics:collisionEnabled = 1
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "index_distal_2" (
|
|
prepend references = @./geometries.usd@</Geometries/index_distal>
|
|
)
|
|
{
|
|
over "index_distal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/index_distal_2/VisualMaterials/material_18>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_18" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "middle_proximal" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_proximal>
|
|
)
|
|
{
|
|
over "middle_proximal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/middle_proximal/VisualMaterials/material_12>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_12" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "middle_proximal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_proximal>
|
|
)
|
|
{
|
|
over "middle_proximal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "middle_middle" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_middle>
|
|
)
|
|
{
|
|
over "middle_middle" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/middle_middle/VisualMaterials/material_13>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_13" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "middle_middle_1" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_middle>
|
|
)
|
|
{
|
|
over "middle_middle" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "middle_distal" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_distal>
|
|
)
|
|
{
|
|
over "middle_distal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/middle_distal/VisualMaterials/material_14>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_14" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "middle_distal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/middle_distal>
|
|
)
|
|
{
|
|
over "middle_distal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# ON: fingertip contact under self-collision.
|
|
bool physics:collisionEnabled = 1
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
def Xform "ring_proximal" (
|
|
prepend references = @./geometries.usd@</Geometries/ring_proximal>
|
|
)
|
|
{
|
|
over "ring_proximal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/ring_proximal/VisualMaterials/material_16>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_16" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "ring_proximal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/ring_proximal>
|
|
)
|
|
{
|
|
over "ring_proximal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "ring_middle" (
|
|
prepend references = @./geometries.usd@</Geometries/ring_middle>
|
|
)
|
|
{
|
|
over "ring_middle" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/ring_middle/VisualMaterials/material_17>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_17" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "ring_middle_1" (
|
|
prepend references = @./geometries.usd@</Geometries/ring_middle>
|
|
)
|
|
{
|
|
over "ring_middle" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "pinky_proximal" (
|
|
prepend references = @./geometries.usd@</Geometries/pinky_proximal>
|
|
)
|
|
{
|
|
over "pinky_proximal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/pinky_proximal/VisualMaterials/material_20>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_20" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "pinky_proximal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/pinky_proximal>
|
|
)
|
|
{
|
|
over "pinky_proximal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI"]
|
|
)
|
|
{
|
|
# OFF: fat/adjacent hulls explode under PD close-fist.
|
|
bool physics:collisionEnabled = 0
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
}
|
|
}
|
|
|
|
def Xform "pinky_distal" (
|
|
prepend references = @./geometries.usd@</Geometries/pinky_distal>
|
|
)
|
|
{
|
|
over "pinky_distal" (
|
|
apiSchemas = ["MaterialBindingAPI"]
|
|
)
|
|
{
|
|
custom rel material:binding
|
|
prepend rel material:binding = </Instances/pinky_distal/VisualMaterials/material_22>
|
|
}
|
|
|
|
def Scope "VisualMaterials"
|
|
{
|
|
def Material "material_22" (
|
|
instanceable = true
|
|
prepend references = @./materials.usda@</Materials/material_1>
|
|
)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
def Xform "pinky_distal_1" (
|
|
prepend references = @./geometries.usd@</Geometries/pinky_distal>
|
|
)
|
|
{
|
|
over "pinky_distal" (
|
|
apiSchemas = ["PhysicsCollisionAPI", "NewtonCollisionAPI", "PhysicsMeshCollisionAPI", "NewtonMeshCollisionAPI", "PhysxCollisionAPI"]
|
|
)
|
|
{
|
|
# ON: fingertip contact under self-collision.
|
|
bool physics:collisionEnabled = 1
|
|
token physics:approximation = "convexHull"
|
|
token purpose = "guide"
|
|
float physxCollision:contactOffset = 0.001
|
|
float physxCollision:restOffset = -0.0005
|
|
}
|
|
}
|
|
|
|
}
|