Scripting_DAZ_Importer_Operators - Diffeomorphic/import_daz GitHub Wiki
OPERATORS IN bpy.ops.daz
bpy.ops.daz.activate_all(morphset = "All", category = "", prefix = "", ftype = "", useMesh = False)
Activate all morphs of this type
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- useMesh (boolean) - useMesh
bpy.ops.daz.activate_diffuse()
Activate diffuse texture node, to make textured view work correctly
bpy.ops.daz.add_cloud_dir()
Add a cloud directory
bpy.ops.daz.add_content_dir()
Add a content directory
bpy.ops.daz.add_content_dirs()
Add DAZ root paths in directory
bpy.ops.daz.add_custom_shell(nodeGroup = '')
Add a nodegroup as a shell to selected materials
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- nodeGroup (enum in []) - Node group to be converted to a shell. Must have Shader input and output sockets
bpy.ops.daz.add_driven_value_nodes(selection = [])
Add driven value nodes
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.add_extra_face_bones(ignoreLocked = True, errorOnFail = True)
Add an extra layer of face bones, which can be both driven and posed
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreLocked (boolean) - Don't create posable bones for locked location channels
- errorOnFail (boolean) - Fail On Error
bpy.ops.daz.add_hair_rig(useCheckStrips = True, nSectors = 12, sectorOffset = 0, hairLength = 5, keepVertexNumbers = True, controlMethod = 'NONE', useHideBones = True, useSeparateRig = True, headName = "head", useVertexGroups = True)
Add an armature to mesh hair
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useCheckStrips (boolean) - Check that the hair mesh consists of strips in UV space
- nSectors (int) - Number of sectors
- sectorOffset (int) - Angle to beginning of first sector
- hairLength (int) - Number of bones in a hair
- keepVertexNumbers (boolean) - Keep vertex numbers. This is necessary for hair proxy meshes
- controlMethod (enum in ['NONE', 'IK', 'BBONE', 'WINDER']) - Method for controlling hair posing
- useHideBones (boolean) - Hide the deform bones if using IK
- useSeparateRig (boolean) - Make a separate rig parented to the head bone, instead of adding bones to the main rig
- headName (string) - Name of the head bone
- useVertexGroups (boolean) - Create vertex groups based on Z coordinate
bpy.ops.daz.add_ik_controls(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, name = "IK")
Add IK controls to selected bones, like MHX/Rigify tongue
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
- useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
- useFingerIk (boolean) - Generate IK controls for fingers
- tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
- shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
- shaftName (string) - Shaft bones start with this string (case insensitive)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
- keepRig (boolean) - Keep the original DAZ rig for deformation
- ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
- name (string) - Name
bpy.ops.daz.add_ik_goals(usePoleTargets = False, hideBones = False, lockBones = False, disableBones = False, fromRoots = True, ikTargetParent = 'NONE', onlyConnected = True, useDeleteDisconnected = False, threshold = 0.010)
Add IK goals
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- usePoleTargets (boolean) - Add pole targets to the IK chains
- hideBones (boolean) - Hide all bones in the IK chains
- lockBones (boolean) - Lock all bones in the IK chains
- disableBones (boolean) - Disable all bones in the IK chains
- fromRoots (boolean) - Select IK chains from root bones
- ikTargetParent (enum in ['NONE', 'IMMEDIATE', 'ULTIMATE']) - IK targets parents
- onlyConnected (boolean) - Stop IK chain at disconnected bones
- useDeleteDisconnected (boolean) - Delete disconnected bones and their vertex groups
- threshold (float) - Threshold for stopping the IK chain
bpy.ops.daz.add_keyset(morphset = "All", category = "", prefix = "", ftype = "")
Add selected morphs to active custom keying set, or make new one
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.add_mannequin(headType = 'JAW', mannColl = "Mannequin", meshColl = "Meshes", useNormals = False, useVertexGroups = False, ignoreBoneGroups = False, threshold = 0.001, useVertexColors = False, useUvLayers = False)
Add mannequins to selected meshes. Don't change rig after this.
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- headType (enum in ['SOLID', 'JAW', 'FULL']) - How to make the mannequin head
- mannColl (string) - Add mannequin to this collection
- meshColl (string) - Add base meshes to this collection
- useNormals (boolean) - Transfer custom normals to mannequin meshes
- useVertexGroups (boolean) - Transfer vertex groups to mannequin meshes
- ignoreBoneGroups (boolean) - Don't transfer bone vertex groups
- threshold (float) - Minimum vertex weight to keep
- useVertexColors (boolean) - Transfer vertex colors to mannequin meshes
- useUvLayers (boolean) - Transfer UV layers to mannequin meshes
bpy.ops.daz.add_mdl_dir()
Add an MDL directory
bpy.ops.daz.add_push()
Add a push shapekey
bpy.ops.daz.add_shape_to_category(selection = [], category = "Shapes", custom = '', makenew = False)
Add selected shapekeys to mesh category
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- category (string) - Add morphs to this category of custom morphs
- custom (enum in []) - Category
- makenew (boolean) - Create a new category
bpy.ops.daz.add_shape_vis_drivers(selection = [], useInvert = False)
Add drivers to selected shapekeys, depending on the visibility of selected clothes
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useInvert (boolean) - Enable shapekey when clothes are visible
bpy.ops.daz.add_shapekey_drivers(selection = [], category = "Shapes")
Add rig drivers to shapekeys
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- category (string) - Add morphs to this category of custom morphs
bpy.ops.daz.add_shrinkwrap(offset = 2.000, useSolidify = False, thickness = 2.000, useAddVertexGroup = True, useApply = False)
Add shrinkwrap modifiers to selected meshes covering the active mesh. Optionally add solidify modifiers
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- offset (float) - Offset the surface from the character mesh
- useSolidify (boolean) - Add a solidify modifier too
- thickness (float) - Thickness of the surface
- useAddVertexGroup (boolean) - Add influence vertex groups
- useApply (boolean) - Apply modifiers afterwards
bpy.ops.daz.add_simple_ik(useArms = True, useLegs = True, usePoleTargets = False, useImproveIk = True, useErcIk = True, useRootBone = True, useReverseFoot = True)
Add Simple IK constraints to the active rig. This will not work if the rig has body morphs affecting arms and legs, and the bones have been made posable
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useArms (boolean) - Add IK to arms
- useLegs (boolean) - Add IK to legs
- usePoleTargets (boolean) - Add pole targets to the IK chains. Poses will not be loaded correctly.
- useImproveIk (boolean) - Improve IK by prebending IK bones
- useErcIk (boolean) - Let ERC morphs change the IK hands, IK heels, and pole target locations
- useRootBone (boolean) - Add a root bone which is the parent of all other bones
- useReverseFoot (boolean) - Add reverse foot for IK
bpy.ops.daz.add_softbody(useChest = True, useBelly = True, useGlutes = True, useArms = True, useLegs = True, onConcave = 'NONE', useSmooth = True, useCombinedSoftbody = True, useRemoveOld = True)
Add softbody simulation to selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useChest (boolean) - Add softbody simulation for chest
- useBelly (boolean) - Add softbody simulation for belly
- useGlutes (boolean) - Add softbody simulation for glutes
- useArms (boolean) - Add collision to arms
- useLegs (boolean) - Add collision to legs
- onConcave (enum in ['NONE', 'PLANAR', 'TRIANGULATE']) - Method to avoid problems with concave polygons
- useSmooth (boolean) - Add a corrective smooth modifier to the meshes
- useCombinedSoftbody (boolean) - Only use a combined softbody
- useRemoveOld (boolean) - Remove existing collision and softbody objects
bpy.ops.daz.add_tails(radius = 0.010)
Add tails to selected posebones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- radius (float) - Radius of the cloth object
bpy.ops.daz.add_visibility_drivers(singleGroup = False, groupName = "All", useCollections = True)
Control visibility of selected meshes with rig property
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- singleGroup (boolean) - Treat all selected meshes as a single group
- groupName (string) - Name of the single group
- useCollections (boolean) - Move selected meshes to new collections
bpy.ops.daz.add_winders(winderLayer = 1, windedLayer = 2, useBaseLocation = False, useLocation = False, useScale = False, strength = 1.000)
Add winders to selected posebones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- winderLayer (int) - Bone layer for the winder bones
- windedLayer (int) - Bone layer for the winded bones
- useBaseLocation (boolean) - Add driver for location of base bone
- useLocation (boolean) - Add driver for location of other bones
- useScale (boolean) - Add driver for scale
- strength (float) - An overall strength factor for copy rotation influence
bpy.ops.daz.all_but_fingers()
Deselect morphs for fingers and toes
bpy.ops.daz.apply_active_modifier(useRecreate = True, useApplyRest = True)
Apply active modifier, maintaining shapekeys
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useRecreate (boolean) - Create a new modifier of the same type
- useApplyRest (boolean) - Apply parent rig rest pose
bpy.ops.daz.apply_active_shapekey()
Add active shapekey to all other shapekeys
bpy.ops.daz.apply_all_shapekeys()
Apply all shapekeys to selected meshes
bpy.ops.daz.apply_multires()
Apply multires modifier, maintaining shapekeys
bpy.ops.daz.apply_rest_pose(useApplyTransforms = False, useApplyShapekeys = False, useMergeTiedBones = False)
Apply current pose at rest pose to selected rigs and children
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useApplyTransforms (boolean) - Apply Object Transforms
- useApplyShapekeys (boolean) - Apply all shapekeys
- useMergeTiedBones (boolean) - Merge tied bones to main rig and delete tied rigs
bpy.ops.daz.apply_subsurf()
Apply subsurf modifier, maintaining shapekeys
bpy.ops.daz.apply_transforms()
Apply transforms to selected objects and its children
bpy.ops.daz.assign_shell_map()
Assign shell maps to selected materials
bpy.ops.daz.bake_all_erc_drivers(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useDeleteDrvBones = True)
Bake all ERC drivers to selected rigs and children. Only works if ERC method is Armature or Armature All
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
- useDeleteProps (boolean) - Delete object and armature properties associated with this morph
- useDeleteDrivers (boolean) - Delete drivers associated with this morph
- useDeleteDrvBones (boolean) - Delete (drv) bones
bpy.ops.daz.bake_maps(bakeType = 'NORMALS', imageSize = '2048', subfolder = "", basename = "", storedFolder = "", storedName = "", useSingleTile = False, tile = 1001)
Bake normal/displacement maps for the selected HD meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- bakeType (enum in ['NORMALS', 'DISPLACEMENT']) - Bake Type
- imageSize (enum in ['512', '1024', '2048', '4096']) - Image Size
- subfolder (string) - Subfolder for normal/displace maps
- basename (string) - Name used to construct file names
- storedFolder (string) - storedFolder
- storedName (string) - storedName
- useSingleTile (boolean) - Only bake map for a single tile
- tile (int) - Single tile to bake
bpy.ops.daz.bake_pose_to_fk_rig(startFrame = 1, endFrame = 250)
Bake pose to the FK rig before saving pose preset. IK arms and legs must be baked separately
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- startFrame (int) - Starting frame for the animation
- endFrame (int) - Last frame for the animation
bpy.ops.daz.bake_shapekeys(frame_start = 1, frame_end = 1)
Bake shapekey values to current action. Mute control rig afterwards
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- frame_start (int) - Start
- frame_end (int) - End
bpy.ops.daz.batch_set_custom_shape(useClear = False, scale = 0.000, translation = 0.000, rotation = 0.000)
Set the selected mesh as the custom shape of all selected bones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useClear (boolean) - Clear custom shapes
- scale (float) - Scale
- translation (float) - Translation
- rotation (float) - Rotation
bpy.ops.daz.categorize_objects(useMeshes = True, useArmatures = True, useEmpties = True, useLights = False, useCameras = False, categoryHead = 'UNPARENTED')
Move selected objects and their children to separate categories
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useMeshes (boolean) - Meshes
- useArmatures (boolean) - Armatures
- useEmpties (boolean) - Empties
- useLights (boolean) - Lights
- useCameras (boolean) - Cameras
- categoryHead (enum in ['UNPARENTED', 'CHILDREN']) - Type of objects that head the categories
bpy.ops.daz.change_armature(useRetarget = False)
Make the active armature the armature of selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useRetarget (boolean) - Retarget shapekey drivers to the new armature. Warning: Will cause errors if the new armature lack drivers
bpy.ops.daz.change_colors(color = (0.100,0.100,0.500,1.000))
Change viewport colors of all materials of this object
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- color (color) - Color
bpy.ops.daz.change_prefix_to_suffix()
Change l/r prefix to .L/.R suffix, to use Blender symmetry tools
bpy.ops.daz.change_resolution(useHiddenMeshes = True, steps = 2, resizeAll = True)
Change all textures of selected meshes with resized versions. The resized textures must already exist.
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useHiddenMeshes (boolean) - Also save textures from hidden meshes
- steps (int) - Resize original images with this number of steps
- resizeAll (boolean) - Resize all textures of the selected meshes
bpy.ops.daz.change_skin_color(color = (0.100,0.100,0.500,1.000))
Change viewport colors of all materials of this object
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- color (color) - Color
bpy.ops.daz.change_suffix_to_prefix()
Change .L/.R suffix to l/r prefix, to prepare rig for MHX or Rigify
bpy.ops.daz.check_database(useActive = True, useGenesis = False, useGenesis2Female = False, useGenesis2Male = False, useGenesis3Female = False, useGenesis3Male = False, useGenesis8Female = False, useGenesis8Male = False, useGenesis8_1Female = False, useGenesis8_1Male = False, useGenesis9 = False, useAll = True)
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useActive (boolean) - Only scan morphs for active mesh
- useGenesis (boolean) - Scan Genesis
- useGenesis2Female (boolean) - Scan Genesis 2 female
- useGenesis2Male (boolean) - Scan Genesis 2 male
- useGenesis3Female (boolean) - Scan Genesis 3 female
- useGenesis3Male (boolean) - Scan Genesis 3 male
- useGenesis8Female (boolean) - Scan Genesis 8 female
- useGenesis8Male (boolean) - Scan Genesis 8 male
- useGenesis8_1Female (boolean) - Scan Genesis 8.1 female
- useGenesis8_1Male (boolean) - Scan Genesis 8.1 male
- useGenesis9 (boolean) - Scan Genesis 9
- useAll (boolean) - Scan morph database for all character types
bpy.ops.daz.check_rest_poses()
Check that rest pose is the same
bpy.ops.daz.clear_center()
Move object to DAZ center
bpy.ops.daz.clear_morphs(morphset = "All", category = "", prefix = "", ftype = "")
Set all selected morphs of specified type to zero. Does not affect integer properties
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.clear_pose()
Clear all bones and object transformations
bpy.ops.daz.clear_shapes(morphset = "All", category = "", prefix = "", ftype = "")
Set all selected shapekey values of specified type to zero
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.collapse_udims()
Restrict UV coordinates to the [0:1] range
bpy.ops.daz.combine_scene_materials(ignoreBump = True)
Combine identical materials in scene across objects
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreBump (boolean) - Merge materials even if the bump strengths differ
bpy.ops.daz.connect_bone_chains(useArms = True, useLegs = True, useSpine = False, useNeck = False, useFingers = True, useToes = True, useTongue = True, useSelected = False, unlock = True, useAlignLast = False, location = 'HEAD')
Connect all bones in chains to their parents
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useArms (boolean) - Connect arm bones
- useLegs (boolean) - Connect leg bones
- useSpine (boolean) - Connect spine bones
- useNeck (boolean) - Connect neck bones
- useFingers (boolean) - Connect finger bones
- useToes (boolean) - Connect toe bones
- useTongue (boolean) - Connect tongue bones
- useSelected (boolean) - Connect selected bones
- unlock (boolean) - Remove location locks of the last bone in each chain for use as Auto self target
- useAlignLast (boolean) - Make last bone in each chain parallel to the second last one
- location (enum in ['HEAD', 'TAIL', 'CENTER']) - Where to connect parent and child bones
bpy.ops.daz.convert_morphs_to_action()
Convert morphs to action
bpy.ops.daz.convert_morphs_to_shapekeys(selection = [], morphset = '', category = '', ignoreZeroShapes = True, useAllMeshes = True, useLabels = True, onDelete = 'BY_NAME', useAnimation = True)
Convert selected morphs to shapekeys. All morphs are converted when called from script
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- morphset (enum in []) - Type
- category (enum in []) - Category
- ignoreZeroShapes (boolean) - Don't create shapekeys for zero morphs
- useAllMeshes (boolean) - Convert morphs for all meshes in the figure. Has no effect if armature is active
- useLabels (boolean) - Use the morph labels instead of morph names as shapekey names
- onDelete (enum in ['NONE', 'USED', 'BY_NAME', 'ALL']) - Delete shapekeys that already exists
- useAnimation (boolean) - Convert morph animation to shapekey animation
bpy.ops.daz.convert_to_mhx(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, useTweakBones = False, showLinks = True, usePoleTargets = False, useStretch = True, useSplitShin = True, useSpineIk = False, elbowParent = 'HAND', kneeParent = 'FOOT', useAnkleIk = False, keepG9Twist = False, useRaiseError = True)
Convert rig to MHX
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
- useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
- useFingerIk (boolean) - Generate IK controls for fingers
- tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
- shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
- shaftName (string) - Shaft bones start with this string (case insensitive)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
- keepRig (boolean) - Keep the original DAZ rig for deformation
- ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
- useTweakBones (boolean) - Add tweak bones
- showLinks (boolean) - Show link bones
- usePoleTargets (boolean) - Use pole targets for IK. Enable for perfect FK/IK snapping
- useStretch (boolean) - Enable stretchiness for arms and legs
- useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts
- useSpineIk (boolean) - Spine IK (experimental)
- elbowParent (enum in ['HAND', 'SHOULDER', 'MASTER']) - Parent of elbow pole target
- kneeParent (enum in ['FOOT', 'HIP', 'MASTER']) - Parent of knee pole target
- useAnkleIk (boolean) - Add extra foot and toe bones as IK targets
- keepG9Twist (boolean) - Keep the original twist bones for Genesis 9. Necessary for reexport to DAZ Studio but may lead to flipping
- useRaiseError (boolean) - Raise error for missing bones
bpy.ops.daz.convert_to_rigify(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, ikOptimization = 'POSE', useAutoAlign = True, useRecalcRoll = False, useSplitShin = False, useDeleteMeta = True)
Convert active rig to rigify
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
- useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
- useFingerIk (boolean) - Generate IK controls for fingers
- tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
- shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
- shaftName (string) - Shaft bones start with this string (case insensitive)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
- keepRig (boolean) - Keep the original DAZ rig for deformation
- ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
- ikOptimization (enum in ['POSE', 'POLE', 'HINT', 'NONE']) - Method used for optimizing the rest pose before rigifying
- useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
- useRecalcRoll (boolean) - Recalculate the roll angles of the thigh and shin bones, so they are aligned with the global Z axis. For Genesis 1,2, and 3 characters
- useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts
- useDeleteMeta (boolean) - Delete intermediate rig after Rigify
bpy.ops.daz.convert_tubes_curves()
Find curves at center of tubes
bpy.ops.daz.convert_widgets(deleteUnused = False)
Convert the active mesh to custom shapes for the parent armature bones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- deleteUnused (boolean) - Delete unused bones. If disabled, unused bones are hidden
bpy.ops.daz.copy_attributes(useVertex = True, useMaterial = False, usePolygon = False)
Copy attributes from active to selected
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useVertex (boolean) - Vertex
- useMaterial (boolean) - Material Groups
- usePolygon (boolean) - Polygon Groups
bpy.ops.daz.copy_drivers(useShapekeys = True, useMorphsets = True, useOverride = True)
Copy drivers from active armature to selected armatures
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Retarget shapekeys of child meshes
- useMorphsets (boolean) - Copy user interface
- useOverride (boolean) - Override Existing Drivers
bpy.ops.daz.copy_facs_animation(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)
Copy FACS animation from selected mesh to active character
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- useEyes (boolean) - Include eyes animation
- useTongue (boolean) - Include tongue animation
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use name of imported file if blank
- fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
bpy.ops.daz.copy_grafts_groups()
Copy vertex groups from selected geografts to HD mesh. The base mesh must also be selected
bpy.ops.daz.copy_masks(selection = [])
Copy selected mask modifiers and vertex groups from active to selected
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.copy_materials(useReplaceFaces = False, useMatchNames = True, errorMismatch = True, useAddMaterials = False)
Copy materials from active mesh to selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useReplaceFaces (boolean) - Replace all materials and reassign face numbers. The meshes must have identical topology
- useMatchNames (boolean) - Match materials based on names rather than material slots
- errorMismatch (boolean) - Raise an error if the number of source and target materials are different
- useAddMaterials (boolean) - Add materials after existing materials
bpy.ops.daz.copy_modifiers(offset = 5.000, useSubsurf = False, useRemoveCloth = True)
Copy modifiers from active mesh to selected
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- offset (float) - Offset the surface from the character mesh
- useSubsurf (boolean) - Also copy subsurf and multires modifiers
- useRemoveCloth (boolean) - Remove cloth modifiers from source mesh
bpy.ops.daz.copy_pose(useRemoveLimits = True, useImposeLocks = False, keepLocation = False, useSelectedOnly = False)
Copy pose from active rig to selected rigs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useRemoveLimits (boolean) - Remove limits for posed bones
- useImposeLocks (boolean) - Impose locks
- keepLocation (boolean) - Keep local location for bones with parent
- useSelectedOnly (boolean) - Only copy pose to selected bones
bpy.ops.daz.copy_rolls(useOrientation = False)
Copy roll angles from active to selected
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useOrientation (boolean) - Copy the full bone matrix rather than just the roll angle
bpy.ops.daz.copy_shells(selection = [], useCopyUvs = True, useUniqueMaterials = False, useActive = False)
Copy selected material shells to selected meshes
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useCopyUvs (boolean) - Copy missing UV maps
- useUniqueMaterials (boolean) - Unique Materials
- useActive (boolean) - Copy shells from active material instead of named materials
bpy.ops.daz.copy_uvs(uvset = '')
Copy UV map from active mesh to selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- uvset (enum in []) - UV set to copy
bpy.ops.daz.copy_vertex_groups_by_number()
Copy vertex groups from active to selected meshes with the same number of vertices
bpy.ops.daz.create_bulges(selection = [])
Create bulge morphs. Only for Genesis and Genesis 2 character
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.create_graft_groups()
Create vertex groups from graft information
bpy.ops.daz.create_masks(singleGroup = False, groupName = "All")
Create vertex groups and mask modifiers in active mesh for selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- singleGroup (boolean) - Treat all selected meshes as a single group
- groupName (string) - Name of the single group
bpy.ops.daz.create_meta(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000, ikOptimization = 'POSE', useAutoAlign = True, useRecalcRoll = False, useSplitShin = False)
Create a metarig from the active rig
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
- useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
- useFingerIk (boolean) - Generate IK controls for fingers
- tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
- shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
- shaftName (string) - Shaft bones start with this string (case insensitive)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
- keepRig (boolean) - Keep the original DAZ rig for deformation
- ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
- ikOptimization (enum in ['POSE', 'POLE', 'HINT', 'NONE']) - Method used for optimizing the rest pose before rigifying
- useAutoAlign (boolean) - Auto align hand and foot (Rigify parameter)
- useRecalcRoll (boolean) - Recalculate the roll angles of the thigh and shin bones, so they are aligned with the global Z axis. For Genesis 1,2, and 3 characters
- useSplitShin (boolean) - Split the shin vertex groups into bend and twist parts
bpy.ops.daz.deactivate_all(morphset = "All", category = "", prefix = "", ftype = "", useMesh = False)
Deactivate all morphs of this type
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- useMesh (boolean) - useMesh
bpy.ops.daz.decode_file(useSaveFile = True)
Decode a gzipped DAZ file (*.duf, *.dsf, *.dbz) to a text file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useSaveFile (boolean) - Save to a file with extra ".txt"
bpy.ops.daz.diaable_all_features()
(undocumented operator)
bpy.ops.daz.disable_drivers()
Disable all drivers to improve performance
bpy.ops.daz.disable_locks_limits(useLocation = True, useRotation = True, useScale = True, useLocks = True, useLimits = True, limitType = 'INFLUENCE', useKeying = False)
Disable locks and limits
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLocation (boolean) - Location
- useRotation (boolean) - Rotation
- useScale (boolean) - Scale
- useLocks (boolean) - Enable/Disable locks
- useLimits (boolean) - Enable/Disable limits
- limitType (enum in ['INFLUENCE', 'MUTE', 'BOTH']) - Type
- useKeying (boolean) - Key locks and constraints
bpy.ops.daz.disable_shell_drivers(selection = [])
Disable drivers from selected shell from selected figures
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.display_material_group(group = '')
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- group (enum in []) - Group
bpy.ops.daz.display_polygon_group(group = '')
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- group (enum in []) - Group
bpy.ops.daz.drive_modifier_influence()
Create drivers for modifier visibility. To disable modifier with file linking
bpy.ops.daz.drive_shell_influence()
Create drivers for shell and layered image influence
bpy.ops.daz.easy_import_daz(files = [], directory = "", useMakePosable = True, ignoreUrl = False, ignoreFinger = False, onMorphSuffix = 'SMART', morphSuffix = "", useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True, duplicateDistance = 1.000, useMergeNonConforming = 'CONTROLS', useConvertWidgets = True, useHiddenRigs = False, useTieRigs = False, useMergeUvs = True, allowOverlap = False, keepOriginal = False, useFixTiles = True, useSubDDisplacement = True, useGeoNodes = False, useBakeGrafts = False, fitMeshes = 'DBZFILE', skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useEliminateEmpties = True, useMergeRigs = True, useApplyTransforms = False, useMergeMaterials = True, useMergeToes = False, useBakedCorrectives = False, useDazFavorites = False, useTransferClothes = True, useTransferGeografts = True, useTransferFace = True, useTransferHair = False, useTransferHD = True, useMergeGeografts = False, useFavoMorphs = False, favoPath = "", useAdjusters = False, useFinalOptimization = False)
Load a native DAZ file and perform the most common operations
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- ignoreUrl (boolean) - Ignore the mesh URL and only use the fingerprint to identify the mesh. Use this to load Genesis 8 morphs to Genesis 8.1 figures and vice versa
- ignoreFinger (boolean) - Ignore the mesh fingerprint which describes the mesh topology
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
- useUnits (boolean) - Import all face units
- useExpressions (boolean) - Import all expressions
- useVisemes (boolean) - Import all visemes
- ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
- useHead (boolean) - Import all head morphs
- useFacs (boolean) - Import all FACS morphs
- useFacsdetails (boolean) - Import all FACS details
- useFacsexpr (boolean) - Import all FACS expressions
- usePowerpose (boolean) - Import all PowerPose expressions
- useBody (boolean) - Import all body morphs
- useMhxOnly (boolean) - Only import MHX compatible body morphs
- useJcms (boolean) - Import all JCMs
- useMasculine (boolean) - Import all maskuline JCMs
- useFeminine (boolean) - Import all feminine JCMs
- useAnime (boolean) - Import all anime morphs
- useFlexions (boolean) - Import all flexions
- useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
- ignoreFingers (boolean) - Don't create morphs for fingers and toes
- duplicateDistance (float) - Create separate bones if several bones with the same name are found, and they are at least this far apart (in centimeters)
- useMergeNonConforming (enum in ['NEVER', 'CONTROLS', 'CHILDREN', 'ALL_RIGS']) - Also merge non-conforming rigs. (Bone parented and with no bones in common with main rig)
- useConvertWidgets (boolean) - Convert face controls to bone custom shapes
- useHiddenRigs (boolean) - Also merge bones from armatures that are hidden
- useTieRigs (boolean) - Drive bone in child rigs with copy transforms constraints
- useMergeUvs (boolean) - Merge active render UV layers of all meshes
- allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment
- keepOriginal (boolean) - Keep the original mesh and geografts in separate collections
- useFixTiles (boolean) - Move geograft UVs to tile based on texture names
- useSubDDisplacement (boolean) - Add SubD Displacement to the merge mesh if some geograft has it. May slow down rendering
- useGeoNodes (boolean) - Merge geografts using geometry nodes
- useBakeGrafts (boolean) - Add a bake node to the geometry node tree. This must be baked in rest pose before posing
- fitMeshes (enum in ['SHARED', 'UNIQUE', 'TRANSFORMED', 'MORPHED', 'DBZFILE']) - Mesh fitting method
- skinColor (color) - SKIN
- clothesColor (color) - Clothes
- materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
- useEliminateEmpties (boolean) - Delete non-hidden empties, parenting its children to its parent instead
- useMergeRigs (boolean) - Merge all rigs to the main character rig
- useApplyTransforms (boolean) - Apply all transforms to objects that are not bone parented
- useMergeMaterials (boolean) - Merge identical materials
- useMergeToes (boolean) - Merge separate toes into a single toe bone
- useBakedCorrectives (boolean) - Import all custom correctives for baked morphs
- useDazFavorites (boolean) - Import DAZ favorite morphs
- useTransferClothes (boolean) - Transfer shapekeys from character to clothes
- useTransferGeografts (boolean) - Transfer shapekeys from character to geografts. Always enabled if geografts are merged
- useTransferFace (boolean) - Transfer shapekeys from character to face meshes like eyelashes, tears, brows and beards. Can be disabled if face meshes will be converted to particle hair
- useTransferHair (boolean) - Transfer shapekeys from character to hair meshes
- useTransferHD (boolean) - Transfer shapekeys from character to HD meshes
- useMergeGeografts (boolean) - Merge selected geografts to active object. Geometry nodes are not used. Does not work with nested geografts. Shapekeys are always transferred first
- useFavoMorphs (boolean) - Load a favorite morphs instead of loading standard morphs
- favoPath (string) - Path to favorite morphs
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useFinalOptimization (boolean) - Make final optimizations to the rig and mesh
bpy.ops.daz.eliminate_empties(useAllEmpties = True, useCollections = False, useHidden = True)
Delete empties, parenting its children to its parent instead
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useAllEmpties (boolean) - Eliminate all empties in the scene, not only those associated with selected objects
- useCollections (boolean) - Replace empties with collections
- useHidden (boolean) - Also delete empties that are hidden
bpy.ops.daz.enable_all_features()
(undocumented operator)
bpy.ops.daz.enable_all_layers()
Enable all bone layers
bpy.ops.daz.enable_drivers()
Enable all drivers
bpy.ops.daz.enable_locks_limits(useLocation = True, useRotation = True, useScale = True, useLocks = True, useLimits = True, limitType = 'INFLUENCE', useKeying = False)
Enable locks and limits
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLocation (boolean) - Location
- useRotation (boolean) - Rotation
- useScale (boolean) - Scale
- useLocks (boolean) - Enable/Disable locks
- useLimits (boolean) - Enable/Disable limits
- limitType (enum in ['INFLUENCE', 'MUTE', 'BOTH']) - Type
- useKeying (boolean) - Key locks and constraints
bpy.ops.daz.enable_shell_drivers(selection = [])
Enable drivers from selected shell from selected objects
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.error()
(undocumented operator)
bpy.ops.daz.finalize_armature()
Remove unused bone constraints
bpy.ops.daz.finalize_meshes(maxSubsurf = 2, keepVertex = True)
Remove internal properties from meshes. Disables some tools but may improve performance
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- maxSubsurf (int) - Maximal subsurf level
- keepVertex (boolean) - Keep information about original vertex numbers. Necessary to import morphs to modified meshes
bpy.ops.daz.find_missing_textures()
Search for missing textures of selected meshes in the DAZ database
bpy.ops.daz.find_seams()
Create seams based on existing UVs
bpy.ops.daz.fix_legacy_posable(ignoreLocked = True, errorOnFail = True)
Convert legacy posable bones to modern ones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreLocked (boolean) - Don't create posable bones for locked location channels
- errorOnFail (boolean) - Fail On Error
bpy.ops.daz.fix_limit_rot_constraints()
(undocumented operator)
bpy.ops.daz.fix_normal_groups(useDisable = False)
Fix or disable normal groups from selected objects
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDisable (boolean) - Disable
bpy.ops.daz.fix_shells(useSelf = False)
Replace shell node groups in selected meshes with the node groups of the active material
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useSelf (boolean) - Fix selected materials of the active mesh rather than selected meshes
bpy.ops.daz.fix_texture_tiles(useLastUdimTile = False, useHiddenMeshes = True)
Copy textures to the right directory and correct tile numbers. To fix incorrect Genesis 8.1 material names
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLastUdimTile (boolean) - Last UDIM Tile
- useHiddenMeshes (boolean) - Also save textures from hidden meshes
bpy.ops.daz.get_finger_print()
Get fingerprint of active character
bpy.ops.daz.global_settings(settingsDir = "", errorFile = "", scanFile = "", onlyDbz = False, scale = 0.010, verbosity = 0, rememberLastFolder = False, onStrengthAdjusters = 'NONE', useDazLimits = False, sliderMultiplier = 0.000, showFinalProps = False, showInTerminal = False, useMuteDrivers = False, ercMethod = 'NONE', useStripCategory = False, useDefaultDrivers = False, useOptimizeJcms = False, useMakeHiddenSliders = False, useBakedMorphs = False, showHiddenObjects = False, ignoreHiddenObjects = False, showPaths = False, showContentDirs = True, showMDLDirs = False, showCloudDirs = False, materialMethod = 'SELECT', sssMethod = 'BURLEY', displacementMethod = 'BUMP', toonMethod = 'NONE', viewportColors = 'ORIGINAL', skinColor = (0.000,0.000,0.000,0.000), clothesColor = (0.000,0.000,0.000,0.000), worldMethod = 'ALWAYS', useMaterialsByIndex = False, useMaterialsByName = False, useStoreMaterialMapping = False, onRenderSettings = 'UPDATE', onLightSettings = 'UPDATE', useLockLoc = False, useLimitLoc = False, useLockRot = False, useLimitRot = False, useInheritScale = False, displayLimitRot = False, useBoneColors = False, ignoreG9TwistBones = False, useDump = False, zup = False, unflipped = False, useTriaxImprove = False, useBulgeWeights = False, keepTriaxWeights = False, useTriaxApply = False, useArmature = False, useQuaternions = False, driverRotationMode = 'NATIVE', caseSensitivePaths = False, useInstancing = False, useHairGuides = False, useHighDef = False, keepBaseMesh = False, useHDArmature = False, useMultires = False, useSharpEdges = False, maxSubdivs = 0, onScaleEyeMoisture = 'NONE', useRigidityAttributes = False, useFaceGroupMasks = False, useSimulation = False, shellMethod = 'MATERIAL', usePruneNodes = False, useFakeCaustics = False, useDisplacement = False, useEmission = False, useGhostLights = False, bumpMultiplier = 0.000, skinMethod = 'IRAY', useVolume = False, imageInterpolation = 'Linear', useUnusedTextures = False, onHairMaterial = 'HAIR', useShellDrivers = False, useLayeredInflu = False, useLayeredShells = False, author = "", email = "", website = "")
Show or update global settings
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- settingsDir (string) - Path to settings directory
- errorFile (string) - Error report file
- scanFile (string) - Path to scanned database
- onlyDbz (boolean) - Only import dbz files with baked morphs. If disable duf/dsf files can be imported too
- scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
- verbosity (int) - Controls the number of warning messages when loading files 1: Silent mode. 2: Default. Warn about some problems. 3: Warn about all problems. 4: Warn about all problems and save a log file. 5: Like verbosity = 4 and trigger a Python error.
- rememberLastFolder (boolean) - Remember the directory of the last opened file, instead of starting at default location
- onStrengthAdjusters (enum in ['NONE', 'Face', 'Body', 'Custom', 'ALL']) - Add extra sliders to adjust the overall strength
- useDazLimits (boolean) - Use DAZ limits for morphs
- sliderMultiplier (float) - Multiply the min and max values for sliders with this factor
- showFinalProps (boolean) - Display the "final" values of morphs
- showInTerminal (boolean) - Display full morph names when loading and transferring morphs
- useMuteDrivers (boolean) - Add drivers that mute shapekeys if shapekey value = 0. Affects JCMs, flexions and custom morphs
- ercMethod (enum in ['NONE', 'TRANSLATION', 'ARMATURE', 'ALL']) - Support for ERC morphs that change the rest pose
- useStripCategory (boolean) - Strip the category name from the beginning of the morph name if they are the same
- useDefaultDrivers (boolean) - Create default drivers defined in the scene file
- useOptimizeJcms (boolean) - Optimize drivers when loading JCMs and flexions. Experimental
- useMakeHiddenSliders (boolean) - Create properties for hidden morphs, so they can be displayed in the UI
- useBakedMorphs (boolean) - Allow that baked morphs are imported
- showHiddenObjects (boolean) - Don't hide objects which are hidden in DAZ Studio
- ignoreHiddenObjects (boolean) - Don't build objects which are hidden in DAZ Studio
- showPaths (boolean) - Paths To DAZ Library
- showContentDirs (boolean) - Content Directories
- showMDLDirs (boolean) - MDL Directories
- showCloudDirs (boolean) - Cloud Directories
- materialMethod (enum in ['SELECT', 'BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
- sssMethod (enum in ['BURLEY', 'RANDOM_WALK', 'RANDOM_WALK_SKIN']) - Method for subsurface scattering
- displacementMethod (enum in ['BUMP', 'DISPLACEMENT', 'BOTH']) - Displacement method
- toonMethod (enum in ['NONE', 'FREESTYLE', 'LINEART', 'SOLIDIFY']) - Toon outline method
- viewportColors (enum in ['ORIGINAL', 'RANDOM', 'GUESS']) - Method to display object in viewport
- skinColor (color) - Skin
- clothesColor (color) - Clothes
- worldMethod (enum in ['ALWAYS', 'DOME', 'NEVER']) - When to create a world material
- useMaterialsByIndex (boolean) - Use index rather than name to identify materials. Needed if multiple materials have identical names. This only happens in files generated by the MikuMikuDance exporter
- useMaterialsByName (boolean) - Materials are sorted in alphabetical order. If disabled the order in the duf file is used
- useStoreMaterialMapping (boolean) - Store original material mapping as custom properties
- onRenderSettings (enum in ['IGNORE', 'WARN', 'UPDATE']) - Render Settings
- onLightSettings (enum in ['IGNORE', 'WARN', 'UPDATE']) - Light Settings
- useLockLoc (boolean) - Use location locks
- useLimitLoc (boolean) - Enable location limits
- useLockRot (boolean) - Use rotation locks
- useLimitRot (boolean) - Enable rotation limits
- useInheritScale (boolean) - Bones inherit scale from their parents (Blender default). Disable to mimic behaviour in DAZ Studio
- displayLimitRot (boolean) - Display rotation limits as IK limits
- useBoneColors (boolean) - Colorize bones. For debugging in Blender 4
- ignoreG9TwistBones (boolean) - Don't import Genesis 9 twist bones. To fix some problems for game engines
- useDump (boolean) - Dump debug info in the file daz_importer_errors.text after loading file
- zup (boolean) - Convert from DAZ's Y up convention to Blender's Z up convention. Disable for debugging only
- unflipped (boolean) - Don't flip bone axes. Enable for debugging only
- useTriaxImprove (boolean) - Improve vertex groups for triax weights (Genesis/Genesis 2 only)
- useBulgeWeights (boolean) - Add vertex groups for triax bulge weights
- keepTriaxWeights (boolean) - Keep triax local weights
- useTriaxApply (boolean) - Apply triax vertex weight modifiers
- useArmature (boolean) - Create armatures for imported figures
- useQuaternions (boolean) - Use quaternions for ball-and-socket joints (shoulders and hips)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use as driver rotation mode for quaternion bones. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- caseSensitivePaths (boolean) - Convert URLs to lowercase. Works best on Windows
- useInstancing (boolean) - Use instancing for DAZ instances
- useHairGuides (boolean) - Import hair guides even if the corresponding PS hairs have also been generated. Only for DBZ mesh fitting
- useHighDef (boolean) - Build HD meshes if included in .dbz file
- keepBaseMesh (boolean) - Also keep base meshes if HD meshes are imported
- useHDArmature (boolean) - Add armature modifier and vertex groups to HD and multires meshes
- useMultires (boolean) - Add multires modifier to HD meshes and rebuild lower subdivision levels
- useSharpEdges (boolean) - Set sharp edges if this is done In DAZ Studio
- maxSubdivs (int) - The maximum subdivision level. Too high a value can cause Blender to crash
- onScaleEyeMoisture (enum in ['NONE', 'GENERATE', 'APPLY']) - Scale eye moisture vertices to avoid dark rings when rendering eyes
- useRigidityAttributes (boolean) - Use attributes rather than vertex groups for rigidity info
- useFaceGroupMasks (boolean) - Use face groups for masking (experimental)
- useSimulation (boolean) - Add influence (pinning) vertex groups for simulation
- shellMethod (enum in ['MATERIAL', 'GEONODES', 'IGNORE', 'MESH']) - Method for geometry shells
- usePruneNodes (boolean) - Prune material node-tree. Disable for debugging only
- useFakeCaustics (boolean) - Use fake caustics
- useDisplacement (boolean) - Use displacement maps
- useEmission (boolean) - Use emission
- useGhostLights (boolean) - Mimics the iray ghost light bug, that is fixed in DS 4.20. Do not use to mimic DS 4.20
- bumpMultiplier (float) - Factor to multiply bump distance
- skinMethod (enum in ['IRAY', 'SSS', 'AltSSS']) - Conversion method for volumetric skin materials
- useVolume (boolean) - Use volume for volumetice materials
- imageInterpolation (enum in ['Linear', 'Closest', 'Cubic', 'Smart']) - Image interpolation
- useUnusedTextures (boolean) - Build texture found in unused channels
- onHairMaterial (enum in ['HAIR', 'NORMAL', 'SMART']) - Build hair or normal material for blended dual lobe hair
- useShellDrivers (boolean) - Add drivers to shell influence
- useLayeredInflu (boolean) - Add layered image influence
- useLayeredShells (boolean) - Use layered images in shells (experimental)
- author (string) - Author info in preset files
- email (string) - Email info in preset files
- website (string) - Website info in preset files
bpy.ops.daz.hide_all_vis(prefix = "")
Hide all meshes/makeup of this rig
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prefix (string) - prefix
bpy.ops.daz.hide_unused_links(match = "seg", useDelete = True)
Move unconnected bones with matching names away
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- match (string) - Name string of bones to hide
- useDelete (boolean) - Delete hidden bones and vertices
bpy.ops.daz.import_action(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female', makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False)
Import poses from DAZ pose preset file(s) to action
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- affectMorphs (boolean) - Animate morph properties
- useClearMorphs (boolean) - Clear all active morphs before loading new ones
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- multiplier (float) - Multiply all morphs with this factor
- useLoadMissing (boolean) - Load missing morphs
- useLoadZero (boolean) - Also load missing morphs with zero value
- category (string) - Add missing morphs to this category
- useScanned (boolean) - Use the scanned database to find morphs
- affectGeograft (enum in []) - Add morphs to this merged geograft
- affectObject (boolean) - Animate object transformations
- affectBones (boolean) - Animate bones
- useClearPose (boolean) - Clear the pose before loading a new one
- affectScale (boolean) - Include bone scale in animation. Object scale is always included
- affectSelectedOnly (boolean) - Only animate selected bones
- useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
- useConvert (boolean) - Attempt to convert poses to the current rig.
- srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use file name if blank
- fps (float) - Animation FPS in Daz Studio
- integerFrames (boolean) - Round all keyframes to intergers
- atFrameOne (boolean) - Always start new actions at frame 1
- firstFrame (int) - Start import with this frame
- lastFrame (int) - Finish import with this frame
- usePruneAction (boolean) - Prune the imported action
bpy.ops.daz.import_anime(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected anime morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_asset(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female', makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False, usePreviewImages = True, assetTags = "", assetAuthor = "", assetDescription = "", assetLicense = "", assetCopyright = "")
Import poses and morphs from DAZ pose preset file(s) to Blender assets
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- affectMorphs (boolean) - Animate morph properties
- useClearMorphs (boolean) - Clear all active morphs before loading new ones
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- multiplier (float) - Multiply all morphs with this factor
- useLoadMissing (boolean) - Load missing morphs
- useLoadZero (boolean) - Also load missing morphs with zero value
- category (string) - Add missing morphs to this category
- useScanned (boolean) - Use the scanned database to find morphs
- affectGeograft (enum in []) - Add morphs to this merged geograft
- affectObject (boolean) - Animate object transformations
- affectBones (boolean) - Animate bones
- useClearPose (boolean) - Clear the pose before loading a new one
- affectScale (boolean) - Include bone scale in animation. Object scale is always included
- affectSelectedOnly (boolean) - Only animate selected bones
- useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
- useConvert (boolean) - Attempt to convert poses to the current rig.
- srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use file name if blank
- fps (float) - Animation FPS in Daz Studio
- integerFrames (boolean) - Round all keyframes to intergers
- atFrameOne (boolean) - Always start new actions at frame 1
- firstFrame (int) - Start import with this frame
- lastFrame (int) - Finish import with this frame
- usePruneAction (boolean) - Prune the imported action
- usePreviewImages (boolean) - Import preview images for imported poses
- assetTags (string) - List of tags to add to the imported Poses
- assetAuthor (string) - Author
- assetDescription (string) - Description
- assetLicense (string) - License
- assetCopyright (string) - Copyright
bpy.ops.daz.import_baked_correctives(useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "", useExpressions = True, useFacs = True, useJcms = True)
Import all custom correctives for baked morphs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
- useExpressions (boolean) - Import eJCM files
- useFacs (boolean) - Import FACS files
- useJcms (boolean) - Import pJCM files
bpy.ops.daz.import_body_morphs(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected body morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_custom_morphs(files = [], directory = "", useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "", category = "Shapes", onDrivers = 'RIG', bodypart = 'Custom', treatHD = 'ERROR', onlyProperties = False, useMakeHiddenSliders = False)
Import selected morphs from native DAZ files (*.duf, *.dsf)
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
- category (string) - Category
- onDrivers (enum in ['NONE', 'RIG', 'MESH', 'CATEGORY']) - How to control shapekeys
- bodypart (enum in ['Face', 'Body', 'Custom']) - Part of character that the morphs affect
- treatHD (enum in ['ERROR', 'CREATE', 'ACTIVE']) - How to deal with vertex count mismatch for HD morphs
- onlyProperties (boolean) - Only load properties and property drivers
- useMakeHiddenSliders (boolean) - Create properties for hidden morphs, so they can be displayed in the UI. Overrides the corresponding global setting
bpy.ops.daz.import_daz_favorites(useTransferOthers = True, useNonConforming = False, ignoreRigidity = False, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import custom morphs marked as favorites in DAZ Studio
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useTransferOthers (boolean) - Transfer shapekeys from main mesh to other meshes
- useNonConforming (boolean) - Transfer shapekeys to non-conforming meshes
- ignoreRigidity (boolean) - Ignore rigidity groups when auto-transfer morphs. Morphs may differ from DAZ Studio
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_daz_manually(files = [], directory = "", fitMeshes = 'DBZFILE', skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED')
Load a native DAZ file. Further operations must be done manually. This tool is mainly for debugging
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- fitMeshes (enum in ['SHARED', 'UNIQUE', 'TRANSFORMED', 'MORPHED', 'DBZFILE']) - Mesh fitting method
- skinColor (color) - SKIN
- clothesColor (color) - Clothes
- materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
bpy.ops.daz.import_daz_materials(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useAddMaterials = False, matchMethod = 'GROUP', useMatchNames = True, useReassign = True)
Load materials from a native DAZ file to selected meshes
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- skinColor (color) - SKIN
- clothesColor (color) - Clothes
- materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
- useAddMaterials (boolean) - Add all materials to selected meshes
- matchMethod (enum in ['GROUP', 'NAME', 'INDEX']) - Match materials with this method
- useMatchNames (boolean) - Match material names
- useReassign (boolean) - Assign materials based on stored material numbers
bpy.ops.daz.import_dbz(files = [], directory = "", useMakePosable = True, category = "Shapes", onDrivers = 'RIG', min = 0.000, max = 1.000)
Import DBZ or JSON file(s) (*.dbz, *.json) as morphs
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- category (string) - Category
- onDrivers (enum in ['NONE', 'RIG', 'MESH', 'CATEGORY']) - How to control shapekeys
- min (float) - Minimum value for DBZ morph
- max (float) - Maximum value for DBZ morph
bpy.ops.daz.import_expression(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')
Import an expression from DAZ pose preset file(s)
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- affectMorphs (boolean) - Animate morph properties
- useClearMorphs (boolean) - Clear all active morphs before loading new ones
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- multiplier (float) - Multiply all morphs with this factor
- useLoadMissing (boolean) - Load missing morphs
- useLoadZero (boolean) - Also load missing morphs with zero value
- category (string) - Add missing morphs to this category
- useScanned (boolean) - Use the scanned database to find morphs
- affectGeograft (enum in []) - Add morphs to this merged geograft
- affectObject (boolean) - Animate object transformations
- affectBones (boolean) - Animate bones
- useClearPose (boolean) - Clear the pose before loading a new one
- affectScale (boolean) - Include bone scale in animation. Object scale is always included
- affectSelectedOnly (boolean) - Only animate selected bones
- useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
- useConvert (boolean) - Attempt to convert poses to the current rig.
- srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
bpy.ops.daz.import_expressions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected expression morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_facecap(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000, useHeadLoc = False, useHeadRot = True, headDist = 0.150, neckUpperDist = 0.400, neckLowerDist = 0.400, abdomenDist = 0.050)
Import a text file with facecap data
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- useEyes (boolean) - Include eyes animation
- useTongue (boolean) - Include tongue animation
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use name of imported file if blank
- fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
- useHeadLoc (boolean) - Include head location animation
- useHeadRot (boolean) - Include head rotation animation
- headDist (float) - Fraction of head rotation that affects head
- neckUpperDist (float) - Fraction of head rotation that affects upper neck
- neckLowerDist (float) - Fraction of head rotation that affects lower neck
- abdomenDist (float) - Fraction of head rotation that affects abdomen
bpy.ops.daz.import_facs(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected FACS morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_facs_details(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected FACS details morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_facs_expressions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected FACS expression morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_fbx_facs(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)
Import a fbx file with FACS animation. The FBX format add-on must be enabled.
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- useEyes (boolean) - Include eyes animation
- useTongue (boolean) - Include tongue animation
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use name of imported file if blank
- fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
bpy.ops.daz.import_feminine(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected import_feminine JCMs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_flexions(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected flexion morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_head(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected head morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_jcms(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected joint corrective morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_livelink(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000, useHeadLoc = False, useHeadRot = True, headDist = 0.150, neckUpperDist = 0.400, neckLowerDist = 0.400, abdomenDist = 0.050)
Import a csv file with Unreal's Live Link data
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- useEyes (boolean) - Include eyes animation
- useTongue (boolean) - Include tongue animation
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use name of imported file if blank
- fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
- useHeadLoc (boolean) - Include head location animation
- useHeadRot (boolean) - Include head rotation animation
- headDist (float) - Fraction of head rotation that affects head
- neckUpperDist (float) - Fraction of head rotation that affects upper neck
- neckLowerDist (float) - Fraction of head rotation that affects lower neck
- abdomenDist (float) - Fraction of head rotation that affects abdomen
bpy.ops.daz.import_masculine(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected masculine JCMs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_moho(makeNewAction = True, actionName = "", fps = 30.000, integerFrames = False, atFrameOne = True, firstFrame = 1, lastFrame = 250, usePruneAction = False, morphType = 'FACS', phonemeSet = 'Preston-Blair', emphasis = 1.000, useUpdateLimits = True, useRelax = True, useShapekeys = False)
Import Moho (.dat) file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use file name if blank
- fps (float) - Animation FPS in Daz Studio
- integerFrames (boolean) - Round all keyframes to intergers
- atFrameOne (boolean) - Always start new actions at frame 1
- firstFrame (int) - Start import with this frame
- lastFrame (int) - Finish import with this frame
- usePruneAction (boolean) - Prune the imported action
- morphType (enum in ['VISEMES', 'FACS']) - Import MOHO animation to these morphs
- phonemeSet (enum in ['Preston-Blair', 'Fleming-Dobbs', 'Rhubarb', 'CMU_39']) - Phoneme Set
- emphasis (float) - Speech strength
- useUpdateLimits (boolean) - Update limits of open vowels to account for emphasis
- useRelax (boolean) - Relax the Moho animation to make it more natural
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
bpy.ops.daz.import_node_pose(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')
Import a pose from DAZ scene file(s) (not pose preset files)
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- affectMorphs (boolean) - Animate morph properties
- useClearMorphs (boolean) - Clear all active morphs before loading new ones
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- multiplier (float) - Multiply all morphs with this factor
- useLoadMissing (boolean) - Load missing morphs
- useLoadZero (boolean) - Also load missing morphs with zero value
- category (string) - Add missing morphs to this category
- useScanned (boolean) - Use the scanned database to find morphs
- affectGeograft (enum in []) - Add morphs to this merged geograft
- affectObject (boolean) - Animate object transformations
- affectBones (boolean) - Animate bones
- useClearPose (boolean) - Clear the pose before loading a new one
- affectScale (boolean) - Include bone scale in animation. Object scale is always included
- affectSelectedOnly (boolean) - Only animate selected bones
- useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
- useConvert (boolean) - Attempt to convert poses to the current rig.
- srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
bpy.ops.daz.import_pose(files = [], directory = "", useMakePosable = True, affectMorphs = True, useClearMorphs = False, useShapekeys = False, multiplier = 1.000, useLoadMissing = False, useLoadZero = False, category = "Loaded", useScanned = True, affectGeograft = '', affectObject = True, affectBones = True, useClearPose = False, affectScale = False, affectSelectedOnly = False, useSnapIk = False, useConvert = False, srcCharacter = 'genesis_8_female')
Import a pose from DAZ pose preset file(s)
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- affectMorphs (boolean) - Animate morph properties
- useClearMorphs (boolean) - Clear all active morphs before loading new ones
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- multiplier (float) - Multiply all morphs with this factor
- useLoadMissing (boolean) - Load missing morphs
- useLoadZero (boolean) - Also load missing morphs with zero value
- category (string) - Add missing morphs to this category
- useScanned (boolean) - Use the scanned database to find morphs
- affectGeograft (enum in []) - Add morphs to this merged geograft
- affectObject (boolean) - Animate object transformations
- affectBones (boolean) - Animate bones
- useClearPose (boolean) - Clear the pose before loading a new one
- affectScale (boolean) - Include bone scale in animation. Object scale is always included
- affectSelectedOnly (boolean) - Only animate selected bones
- useSnapIk (boolean) - Snap final pose to IK. For MHX and Simple IK rigs only
- useConvert (boolean) - Attempt to convert poses to the current rig.
- srcCharacter (enum in ['cmu', 'genesis', 'genesis_2_female', 'genesis_2_male', 'genesis_3_female', 'genesis_3_male', 'genesis_8_female', 'genesis_8_male', 'genesis_9', 'michael_8', 'victoria_7', 'victoria_8']) - Character this file was made for
bpy.ops.daz.import_powerpose(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected PowerPose morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_shells(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED')
Load shell node groups from native DAZ file
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- skinColor (color) - SKIN
- clothesColor (color) - Clothes
- materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
bpy.ops.daz.import_shells_as_images(files = [], directory = "", skinColor = (0.600,0.400,0.250,1.000), clothesColor = (0.090,0.010,0.015,1.000), materialMethod = 'EXTENDED_PRINCIPLED', useDriveInfluence = True, useGeografts = False, useAutoMaterial = True, useHSV = False, targetMaterial = '', midLevel = False)
Load shells as layered images to selected meshes
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- skinColor (color) - SKIN
- clothesColor (color) - Clothes
- materialMethod (enum in ['BSDF', 'EXTENDED_PRINCIPLED', 'FBX_COMPATIBLE']) - Material Method
- useDriveInfluence (boolean) - Create drivers for shell influence
- useGeografts (boolean) - Target meshes are geografts
- useAutoMaterial (boolean) - Automatic Target Materials
- useHSV (boolean) - HSV Correction
- targetMaterial (enum in []) - Add images to this material
- midLevel (boolean) - Grey mask is zero opacity
bpy.ops.daz.import_standard_morphs(useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import all standard morphs of selected types. Doing this once is faster than loading individual types
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useUnits (boolean) - Import all face units
- useExpressions (boolean) - Import all expressions
- useVisemes (boolean) - Import all visemes
- ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
- useHead (boolean) - Import all head morphs
- useFacs (boolean) - Import all FACS morphs
- useFacsdetails (boolean) - Import all FACS details
- useFacsexpr (boolean) - Import all FACS expressions
- usePowerpose (boolean) - Import all PowerPose expressions
- useBody (boolean) - Import all body morphs
- useMhxOnly (boolean) - Only import MHX compatible body morphs
- useJcms (boolean) - Import all JCMs
- useMasculine (boolean) - Import all maskuline JCMs
- useFeminine (boolean) - Import all feminine JCMs
- useAnime (boolean) - Import all anime morphs
- useFlexions (boolean) - Import all flexions
- useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
- ignoreFingers (boolean) - Don't create morphs for fingers and toes
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_units(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected face unit morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_visemes(selection = [], useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Import selected visemes morphs
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.import_vmd_facs(useShapekeys = False, useEyes = False, useTongue = False, makeNewAction = True, actionName = "", fps = 0.000)
Import a vmd file with FACS animation. MMD Tools must be installed
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useShapekeys (boolean) - Load morphs to mesh shapekeys instead of rig properties
- useEyes (boolean) - Include eyes animation
- useTongue (boolean) - Include tongue animation
- makeNewAction (boolean) - Unlink current action and make a new one
- actionName (string) - Name of loaded action. Use name of imported file if blank
- fps (float) - Animation FPS in animation file. FPS = 0 means one frame per step
bpy.ops.daz.impose_locks_limits()
Impose locks and limits for current pose
bpy.ops.daz.inspect_world_matrix()
List world matrix of active object
bpy.ops.daz.join_categories(selection = [], custom = '')
Join selected categories with the chosen category
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- custom (enum in []) - Category
bpy.ops.daz.key_all_poses(morphset = "All", category = "", prefix = "", ftype = "", useArmature = True, useMesh = False, useEmpty = True, useCurves = True, useCamera = True, useLight = True)
Insert keys for all objects at current frame
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- useArmature (boolean) - Save action for armatures
- useMesh (boolean) - Save action for meshes
- useEmpty (boolean) - Save action for empties
- useCurves (boolean) - Save action for curves
- useCamera (boolean) - Save action for cameras
- useLight (boolean) - Save action for lights
bpy.ops.daz.key_morphs(morphset = "All", category = "", prefix = "", ftype = "")
Set keys for all selected morphs of specified type at current frame
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.key_shapes(morphset = "All", category = "", prefix = "", ftype = "")
Set keys for all shapes of specified type at current frame
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.key_shell_influence(enable = False)
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- enable (boolean) - enable
bpy.ops.daz.launch_editor(useAllMaterials = False, useChangedOnly = True)
Edit materials of selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useAllMaterials (boolean) - Affect all materials of all selected meshes
- useChangedOnly (boolean) - Only update channels that have been modified by the material editor
bpy.ops.daz.limit_vertex_groups(limit = 4)
Limit the number of vertex groups per vertex
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- limit (int) - Max number of vertex group per vertex
bpy.ops.daz.load_baked_maps(usePrune = True, useCompact = False, scale = 0.010, midlevel = 0.500, bakeType = 'NORMALS', imageSize = '2048', subfolder = "", basename = "", storedFolder = "", storedName = "", dispScale = 0.010)
Load baked normal/displacement maps for the selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- usePrune (boolean) - Prune the node tree
- useCompact (boolean) - Compact
- scale (float) - Scale value for displacement node
- midlevel (float) - Midlevel value for displacement node
- bakeType (enum in ['NORMALS', 'DISPLACEMENT']) - Bake Type
- imageSize (enum in ['512', '1024', '2048', '4096']) - Image Size
- subfolder (string) - Subfolder for normal/displace maps
- basename (string) - Name used to construct file names
- storedFolder (string) - storedFolder
- storedName (string) - storedName
- dispScale (float) - Displacement scale
bpy.ops.daz.load_factory_settings()
Restore all global settings to factory defaults
bpy.ops.daz.load_favo_morphs(ignoreUrl = False, ignoreFinger = False, useMakePosable = True, useAdjusters = False, useTransferFace = True, onMorphSuffix = 'SMART', morphSuffix = "")
Load favorite morphs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreUrl (boolean) - Ignore the mesh URL and only use the fingerprint to identify the mesh. Use this to load Genesis 8 morphs to Genesis 8.1 figures and vice versa
- ignoreFinger (boolean) - Ignore the mesh fingerprint which describes the mesh topology
- useMakePosable (boolean) - Make all bones posable after the morphs have been loaded
- useAdjusters (boolean) - Add an adjuster for the morph type. Dependence on FBM and FHM morphs is ignored. Useful if the character is baked
- useTransferFace (boolean) - Automatically transfer shapekeys to face meshes like eyelashes, tears, brows and beards
- onMorphSuffix (enum in ['NONE', 'SMART', 'GEOGRAFT', 'ALL']) - Add morph suffixes
- morphSuffix (string) - Morph suffix
bpy.ops.daz.load_normal_map(files = [], directory = "", usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)
Load normal maps to selected materials
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- usePrune (boolean) - Prune the node tree
- useCompact (boolean) - Compact
- useDriver (boolean) - Drive maps with armature properties
- useSmartTiles (boolean) - Identify tiles from materials
- tile (int) - Load textures in this tile. Selected materials should match the tile
bpy.ops.daz.load_poses_from_file()
Load poses for all objects from json file
bpy.ops.daz.load_root_paths(useContent = True, useMDL = True, useCloud = True)
Load DAZ root paths from file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useContent (boolean) - Load Content Directories
- useMDL (boolean) - Load MDL Directories
- useCloud (boolean) - Load Cloud Directories
bpy.ops.daz.load_scalar_disp(files = [], directory = "", scale = 0.010, midlevel = 0.500, usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)
Load scalar displacement map to selected materials
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- scale (float) - Scale value for displacement node
- midlevel (float) - Midlevel value for displacement node
- usePrune (boolean) - Prune the node tree
- useCompact (boolean) - Compact
- useDriver (boolean) - Drive maps with armature properties
- useSmartTiles (boolean) - Identify tiles from materials
- tile (int) - Load textures in this tile. Selected materials should match the tile
bpy.ops.daz.load_settings_file()
Load settings from file
bpy.ops.daz.load_uv()
Load a UV set to the active mesh
bpy.ops.daz.load_vector_disp(files = [], directory = "", scale = 0.010, midlevel = 0.500, usePrune = True, useCompact = False, useDriver = True, useSmartTiles = True, tile = 1001)
Load vector displacement map to selected materials
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- scale (float) - Scale value for displacement node
- midlevel (float) - Midlevel value for displacement node
- usePrune (boolean) - Prune the node tree
- useCompact (boolean) - Compact
- useDriver (boolean) - Drive maps with armature properties
- useSmartTiles (boolean) - Identify tiles from materials
- tile (int) - Load textures in this tile. Selected materials should match the tile
bpy.ops.daz.lock_all_channels(useLock = True, useObjects = True, useBones = False, ignoreTransformed = False, useLocX = True, useLocY = True, useLocZ = True, useRotX = True, useRotY = True, useRotZ = True)
Lock or unlock all channels of selected objects
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLock (boolean) - Enable locks
- useObjects (boolean) - Enable/Disable locks for objects
- useBones (boolean) - Enable/Disable locks for bones
- ignoreTransformed (boolean) - Clear locks for transformed channels
- useLocX (boolean) - Lock X location
- useLocY (boolean) - Lock Y location
- useLocZ (boolean) - Lock X location
- useRotX (boolean) - Lock X rotation
- useRotY (boolean) - Lock Y rotation
- useRotZ (boolean) - Lock X rotation
bpy.ops.daz.lock_channels(useNonzero = True, useTwist = True)
Lock certain channels
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useNonzero (boolean) - Don't lock non-zero channels
- useTwist (boolean) - Don't lcok local Y rotation
bpy.ops.daz.make_all_bones_posable(ignoreLocked = True, errorOnFail = True)
Add an extra layer of driven bones, to make them posable
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreLocked (boolean) - Don't create posable bones for locked location channels
- errorOnFail (boolean) - Fail On Error
bpy.ops.daz.make_cloth(pinGroup = "dForce Pin", collision = '')
Add cloth modifiers to selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- pinGroup (string) - Use this group as pin group
- collision (enum in []) - Collision Collection
bpy.ops.daz.make_collision(pinGroup = "dForce Pin", collision = '')
Add collision modifiers to selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- pinGroup (string) - Use this group as pin group
- collision (enum in []) - Collision Collection
bpy.ops.daz.make_combo_material()
Create a combo node group for selected materials
bpy.ops.daz.make_control_rig()
Make the active rig the control rig of its children. An alternative to merging rigs
bpy.ops.daz.make_decal(channel = 'Diffuse', reuseEmpty = False, emptyName = '', useMask = False, decalMask = "", blendType = 'MIX')
Add a decal to the active material
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- channel (enum in ['Diffuse', 'Glossy', 'Translucency', 'SSS', 'PBase', 'PSSS', 'Bump']) - Add decal to this channel
- reuseEmpty (boolean) - Reuse an existing empty instead of creating a new one
- emptyName (enum in []) - Empty to reuse
- useMask (boolean) - Use a separate texture to mask the decal
- decalMask (string) - Path to decal mask texture
- blendType (enum in ['MIX', 'MULTIPLY']) - Type of blending decal with skin
bpy.ops.daz.make_deflection(offset = 5.000, useQuads = True, useSubsurf = True, useShrinkwrap = True)
Make a low-poly deflection mesh for the active mesh
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- offset (float) - Offset the surface from the character mesh
- useQuads (boolean) - Convert the deflector into a majority-quad mesh
- useSubsurf (boolean) - Smooth the deflection mesh with a subsurf modifier
- useShrinkwrap (boolean) - Shrinkwrap the deflection mesh to the original mesh
bpy.ops.daz.make_dforce(pinGroup = "dForce Pin", collision = '')
Add cloth and collision modifiers to selected meshes from DAZ data
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- pinGroup (string) - Use this group as pin group
- collision (enum in []) - Collision Collection
bpy.ops.daz.make_eulers()
Convert all quaternion bones to XYZ Eulers
bpy.ops.daz.make_hair(useCheckStrips = True, pinGroup = "dForce Pin", collision = '', useHeadParent = True, deformType = 'NONE', onInvalid = 'REMOVE', useSurfaceDeform = False, useSimulation = False, useVertexGroups = False, proxyType = 'SHEET', proxyWidth = 1.000, usePinGroup = True, useClothSimulation = True, strandType = 'SHEET', strandOrientation = 'TOP', keepMesh = False, output = 'HAIR_CURVES', useSingleOutput = True, removeOldHairs = False, useSeparateLoose = True, sparsity = 1, size = 50, useResizeHair = False, useAutoResize = True, useResizeInBlocks = False, useSnapRoots = True, childThreshold = 10000, nRenderChildren = 10, strandShape = 'STANDARD', nViewChildren = 5, nViewStep = 3, nRenderStep = 3, rootRadius = 0.300, tipRadius = 0.300, hairRadius = 0.100, hairShape = 0.000, hairLength = 0.500, viewFactor = 0.100, childRadius = 10.000, multiMaterials = False, keepMaterial = True, useActiveTexture = False, activeMaterial = '', color = (0.200,0.020,0.010,1.000), hairMaterialMethod = 'HAIR_BSDF')
Make particle hair from mesh hair
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useCheckStrips (boolean) - Check that the hair mesh consists of strips in UV space
- pinGroup (string) - Use this group as pin group
- collision (enum in []) - Collision Collection
- useHeadParent (boolean) - Bone parent the hair to the head bone
- deformType (enum in ['NONE', 'CURVES', 'PROXY']) - How to deform the hair
- onInvalid (enum in ['KEEP', 'MODIFIER', 'REMOVE']) - How to deal with invalid curves
- useSurfaceDeform (boolean) - Add a surface deform modifier
- useSimulation (boolean) - Add a cloth modifier for simulation
- useVertexGroups (boolean) - Copy vertex groups to proxy mesh
- proxyType (enum in ['LINE', 'SHEET', 'TUBE']) - Proxy mesh type
- proxyWidth (float) - Width of the proxy strands
- usePinGroup (boolean) - Add a pinning group to the hair proxy
- useClothSimulation (boolean) - Add a cloth simulation
- strandType (enum in ['SHEET', 'LINE', 'TUBE']) - Mesh hair strand type
- strandOrientation (enum in ['TOP', 'BOTTOM', 'LEFT', 'RIGHT']) - How the strands are oriented in UV space
- keepMesh (boolean) - Keep (reconstruct) mesh hair after making particle hair
- output (enum in ['HAIR_CURVES', 'PARTICLES', 'CURVES', 'POLYLINES', 'MESH']) - Output
- useSingleOutput (boolean) - Hair output is a single object
- removeOldHairs (boolean) - Remove existing particle systems from this mesh
- useSeparateLoose (boolean) - Separate hair mesh into loose parts before doing the conversion. Usually improves performance but can stall for large meshes
- sparsity (int) - Only use every n:th hair
- size (int) - Length of resized hair. Maximum length if Auto Resize is enabled.
- useResizeHair (boolean) - Resize hair so all strands have the same length, and thus fit into a single particle system. Known to cause problems for hair dynamics
- useAutoResize (boolean) - Resize each material to the length of the longest strand
- useResizeInBlocks (boolean) - Resize hair in blocks of ten afterwards
- useSnapRoots (boolean) - Snap roots to nearest point on mesh
- childThreshold (int) - Maximum number of strands that can use children
- nRenderChildren (int) - Number of hair children displayed in renders
- strandShape (enum in ['STANDARD', 'ROOTS', 'SHRINK']) - Strand shape
- nViewChildren (int) - Number of hair children displayed in viewport
- nViewStep (int) - How many steps paths are drawn with (power of 2)
- nRenderStep (int) - How many steps paths are rendered with (power of 2)
- rootRadius (float) - Strand diameter at the root
- tipRadius (float) - Strand diameter at the tip
- hairRadius (float) - Strand diameter
- hairShape (float) - Hair shape parameter
- hairLength (float) - Hair length during emission
- viewFactor (float) - The fraction of children displayed in the viewport
- childRadius (float) - Radius of children around parent
- multiMaterials (boolean) - Create separate particle systems for each material
- keepMaterial (boolean) - Use existing material
- useActiveTexture (boolean) - Use the active texture of the scalp mesh as hair color
- activeMaterial (enum in []) - Material to use as hair material
- color (color) - Hair Color
- hairMaterialMethod (enum in ['HAIR_BSDF', 'HAIR_PRINCIPLED', 'PRINCIPLED']) - Type of hair material node tree
bpy.ops.daz.make_hair_proxy(pinGroup = "dForce Pin", collision = '', useHeadParent = True, deformType = 'NONE', onInvalid = 'REMOVE', useSurfaceDeform = False, useSimulation = False, useVertexGroups = False, proxyType = 'SHEET', proxyWidth = 1.000, usePinGroup = True, useClothSimulation = True)
Make proxy for hair curves and add cloth simulation to it
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- pinGroup (string) - Use this group as pin group
- collision (enum in []) - Collision Collection
- useHeadParent (boolean) - Bone parent the hair to the head bone
- deformType (enum in ['NONE', 'CURVES', 'PROXY']) - How to deform the hair
- onInvalid (enum in ['KEEP', 'MODIFIER', 'REMOVE']) - How to deal with invalid curves
- useSurfaceDeform (boolean) - Add a surface deform modifier
- useSimulation (boolean) - Add a cloth modifier for simulation
- useVertexGroups (boolean) - Copy vertex groups to proxy mesh
- proxyType (enum in ['LINE', 'SHEET', 'TUBE']) - Proxy mesh type
- proxyWidth (float) - Width of the proxy strands
- usePinGroup (boolean) - Add a pinning group to the hair proxy
- useClothSimulation (boolean) - Add a cloth simulation
bpy.ops.daz.make_invisible()
Hide selected faces by assigning an invisible material to them
bpy.ops.daz.make_lowpoly(keepUvIslands = True, iterations = 2, useQuads = True)
Replace all selected meshes by low-poly versions
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- keepUvIslands (boolean) - Keep UV islands
- iterations (int) - Number of times to unsubdivide
- useQuads (boolean) - Convert as many triangles to quads as possible
bpy.ops.daz.make_multires(useNewUvs = False)
Convert HD mesh into mesh with multires modifier, and add vertex groups and extra UV layers
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useNewUvs (boolean) - Copy UV layers to multires mesh even if it already has UVs
bpy.ops.daz.make_palette(useMarkAsAsset = False, paletteShape = 'PLANE')
Create a palette for use with the asset browser
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useMarkAsAsset (boolean) - Mark the palette for the asset browser and make all materials unique
- paletteShape (enum in ['PLANE', 'CONE']) - Palette shape
bpy.ops.daz.make_shader_groups(useDiffuse = False, useLogColor = False, useColorEffect = False, useTintedEffect = False, useFresnel = False, useSchlick = False, useEmission = False, useOneSided = False, useOverlay = False, useGlossy = False, useTopCoat = False, useRefraction = False, useThinWall = False, useFakeCaustics = False, useTransparent = False, useInvertNormalMap = False, useTranslucent = False, useSubsurface = False, useAltSSS = False, useFlakes = False, useRayClip = False, useDualLobeUber = False, useDualLobePBR = False, useMetalUber = False, useMetalPBR = False, useVolume = False, useNormal = False, useDisplacement = False, useDecal = False, useToonDiffuse = False, useToonGlossy = False, useToonRim = False, useToonLight = False)
Create shader groups for the active material
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDiffuse (boolean) - Diffuse
- useLogColor (boolean) - Log Color
- useColorEffect (boolean) - Color Effect
- useTintedEffect (boolean) - Tinted Effect
- useFresnel (boolean) - Fresnel
- useSchlick (boolean) - Schlick
- useEmission (boolean) - Emission
- useOneSided (boolean) - One Sided
- useOverlay (boolean) - Diffuse Overlay
- useGlossy (boolean) - Glossy
- useTopCoat (boolean) - Top Coat
- useRefraction (boolean) - Refraction
- useThinWall (boolean) - Thin Wall
- useFakeCaustics (boolean) - Fake Caustics
- useTransparent (boolean) - Transparent
- useInvertNormalMap (boolean) - Invert Normal Map
- useTranslucent (boolean) - Translucent
- useSubsurface (boolean) - Subsurface
- useAltSSS (boolean) - Alt SSS
- useFlakes (boolean) - Metallic Flakes
- useRayClip (boolean) - Ray Clip
- useDualLobeUber (boolean) - Dual Lobe (Uber Shader)
- useDualLobePBR (boolean) - Dual Lobe (PBR Skin)
- useMetalUber (boolean) - Metal (Uber Shader)
- useMetalPBR (boolean) - Metal (PBR Skin)
- useVolume (boolean) - Volume
- useNormal (boolean) - Normal
- useDisplacement (boolean) - Displacement
- useDecal (boolean) - Decal
- useToonDiffuse (boolean) - Toon Diffuse
- useToonGlossy (boolean) - Toon Glossy
- useToonRim (boolean) - Toon Rim
- useToonLight (boolean) - Toon Light
bpy.ops.daz.make_udim_materials(useLastUdimTile = False, useHiddenMeshes = True, trgmat = '', useGuessMissing = True, useSaveLocalTextures = True, useFixTextures = True, useMergeMaterials = False, useStackShells = True)
Combine materials of selected mesh into a single UDIM material. Geografts must be merged first
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLastUdimTile (boolean) - Last UDIM Tile
- useHiddenMeshes (boolean) - Also save textures from hidden meshes
- trgmat (enum in []) - Active
- useGuessMissing (boolean) - Search for UDIM textures that almost match location in node tree
- useSaveLocalTextures (boolean) - Save local textures if not already done
- useFixTextures (boolean) - Copy textures to the right directory and correct tile numbers. For incorrect Genesis 8.1 material names, or for textures without tile info
- useMergeMaterials (boolean) - Merge materials and not only textures. This may cause some information loss. If not, Merge Materials can be called afterwards
- useStackShells (boolean) - Add shell groups to UDIM material
bpy.ops.daz.mask_material_group(group = '')
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- group (enum in []) - Group
bpy.ops.daz.mask_polygon_group(group = '')
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- group (enum in []) - Group
bpy.ops.daz.merge_geografts(useLastUdimTile = False, useMergeUvs = True, allowOverlap = False, keepOriginal = False, useFixTiles = True, useSubDDisplacement = True, useGeoNodes = False, useBakeGrafts = False)
Merge selected geografts to active object
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLastUdimTile (boolean) - Last UDIM Tile
- useMergeUvs (boolean) - Merge active render UV layers of all meshes
- allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment
- keepOriginal (boolean) - Keep the original mesh and geografts in separate collections
- useFixTiles (boolean) - Move geograft UVs to tile based on texture names
- useSubDDisplacement (boolean) - Add SubD Displacement to the merge mesh if some geograft has it. May slow down rendering
- useGeoNodes (boolean) - Merge geografts using geometry nodes
- useBakeGrafts (boolean) - Add a bake node to the geometry node tree. This must be baked in rest pose before posing
bpy.ops.daz.merge_materials(ignoreBump = True)
Merge identical materials of selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- ignoreBump (boolean) - Merge materials even if the bump strengths differ
bpy.ops.daz.merge_meshes(useMergeUvs = True, allowOverlap = False)
Merge selected meshes to active mesh
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useMergeUvs (boolean) - Merge active render UV layers of all meshes
- allowOverlap (boolean) - Also merge overlapping UV layers. Can destroy UV assignment
bpy.ops.daz.merge_rigs(duplicateDistance = 1.000, useMergeNonConforming = 'CONTROLS', useConvertWidgets = True, useHiddenRigs = False, useTieRigs = False, useOnlySelected = True)
Merge selected rigs to active rig
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- duplicateDistance (float) - Create separate bones if several bones with the same name are found, and they are at least this far apart (in centimeters)
- useMergeNonConforming (enum in ['NEVER', 'CONTROLS', 'CHILDREN', 'ALL_RIGS']) - Also merge non-conforming rigs. (Bone parented and with no bones in common with main rig)
- useConvertWidgets (boolean) - Convert face controls to bone custom shapes
- useHiddenRigs (boolean) - Also merge bones from armatures that are hidden
- useTieRigs (boolean) - Drive bone in child rigs with copy transforms constraints
- useOnlySelected (boolean) - Only merge armatures that are children of selected armatures
bpy.ops.daz.merge_toes()
Merge separate toes into a single toe bone
bpy.ops.daz.merge_uv_layers(layer = '', allowOverlap = False)
Merge an UV layer to the active render layer. Merging the active render layer to itself replaces any UV map nodes with texture coordinate nodes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- layer (enum in []) - UV layer that is merged with the active render layer
- allowOverlap (boolean) - Allow merging overlapping UV layers
bpy.ops.daz.mesh_add_pinning()
Add HairPin group to mesh hair
bpy.ops.daz.mix_shapekeys(shape1 = '', shape2 = '', factor1 = 1.000, factor2 = 1.000, allSimilar = False, overwrite = True, delete = True, newName = "Shapekey", filter1 = "", filter2 = "")
Mix shapekeys
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- shape1 (enum in []) - First shapekey
- shape2 (enum in []) - Second shapekey
- factor1 (float) - First factor
- factor2 (float) - Second factor
- allSimilar (boolean) - Mix all shapekeys with similar names
- overwrite (boolean) - Overwrite the first shapekey
- delete (boolean) - Delete unused shapekeys after merge
- newName (string) - Name of new shapekey
- filter1 (string) - Show only items containing this string
- filter2 (string) - Show only items containing this string
bpy.ops.daz.modify_vertex_group(direction = '+X')
Modify the active vertex group
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- direction (enum in ['+X', '-X', '+Y', '-Y', '+Z', '-Z']) - Direction
bpy.ops.daz.morph_armature()
Update the armature for ERC morphs
bpy.ops.daz.move_graft_bones()
Move geograft bones to Tweak layer
bpy.ops.daz.move_morphs_to_category(selection = [], morphset = '', category = '', newCategory = "New")
Move selected morphs to selected category
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- morphset (enum in []) - Type
- category (enum in []) - Category
- newCategory (string) - Name of the new category
bpy.ops.daz.multiply_morphs(morphset = "All", category = "", prefix = "", ftype = "", factor = 1.000)
Multiply all selected morphs of specified type with the given value
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- factor (float) - Multiply all selected morphs with this factor
bpy.ops.daz.multiply_shapes(morphset = "All", category = "", prefix = "", ftype = "", factor = 1.000)
Multiply all selected shapekey values of specified type with the given factor
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- factor (float) - Multiply all selected shapekeys with this value
bpy.ops.daz.mute_control_rig(frame_start = 1, frame_end = 1, useShapekeys = True, useMuteAll = True, useBake = True)
Disable drivers and copy location/rotation constraints
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- frame_start (int) - Start
- frame_end (int) - End
- useShapekeys (boolean) - Mute/unmute shapekeys too
- useMuteAll (boolean) - Mute/unmute all bone constraints, not just copy transform
- useBake (boolean) - Bake visual transform to an action
bpy.ops.daz.mute_shapekeys(show = True)
Mute or unmute all shapekeys of selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- show (boolean) - Mute shapekeys if disabled, otherwise unmute
bpy.ops.daz.object_pose_to_bones(startFrame = 1, endFrame = 250, useSkipRoots = True)
Clear object transform and transfer pose to unparented bones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- startFrame (int) - Starting frame for the animation
- endFrame (int) - Last frame for the animation
- useSkipRoots (boolean) - Clear unparented bones and transfer pose to its children
bpy.ops.daz.optimize_drivers(useRemoveMultipliers = False, useRemoveHiddenSliders = True, useRemoveERC = True)
Optimize the web of drivers. New morphs can not be loaded afterwards
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useRemoveMultipliers (boolean) - Remove multipliers from drivers. Can change how drivers work
- useRemoveHiddenSliders (boolean) - Remove sliders for hidden variables from drivers. Can change how drivers work
- useRemoveERC (boolean) - Remove ERC morphs from drivers. Armatures can no longer be morphed
bpy.ops.daz.optimize_pose(useApplyRestPose = True)
Optimize pose for IK. Incompatible with pose loading and body morphs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useApplyRestPose (boolean) - Apply current pose as rest pose for all armatures
bpy.ops.daz.pin_prop(morphset = "All", category = "", prefix = "", ftype = "", key = "")
Pin property
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- key (string) - key
bpy.ops.daz.pin_shape(morphset = "All", category = "", prefix = "", ftype = "", key = "")
Pin shapekey value
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- key (string) - key
bpy.ops.daz.print_statistics()
Display statistics for selected meshes
bpy.ops.daz.prune_action()
Remove F-curves with zero keys only
bpy.ops.daz.prune_node_trees(useDeleteUnusedNodes = True, useHideTexNodes = True, usePruneTexco = True, useHideOutputs = True, keepUnusedTextures = True, useFixColorSpace = True, useDazImages = True, useBeautify = True)
Prune all material node trees for selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDeleteUnusedNodes (boolean) - Delete nodes not connected to material output
- useHideTexNodes (boolean) - Hide all texture nodes
- usePruneTexco (boolean) - Delete texture coordinates nodes not connected to mapping nodes
- useHideOutputs (boolean) - Hide unused output sockets
- keepUnusedTextures (boolean) - Keep textures from unused channels
- useFixColorSpace (boolean) - Fix Color Space
- useDazImages (boolean) - Make node groups for DAZ images
- useBeautify (boolean) - Beautify node tree
bpy.ops.daz.prune_uv_maps()
Remove unused UV maps
bpy.ops.daz.prune_vertex_groups(threshold = 0.001)
Remove vertices and groups with weights below threshold
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- threshold (float) - Minimum vertex weight to keep
bpy.ops.daz.quote()
(undocumented operator)
bpy.ops.daz.quote_unquote(Text = "")
Quote or unquote specified text
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- Text (string) - Type text to quote or unquote
bpy.ops.daz.remove_all_drivers(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useDeleteDrvBones = True)
Remove all drivers from selected objects
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
- useDeleteProps (boolean) - Delete object and armature properties associated with this morph
- useDeleteDrivers (boolean) - Delete drivers associated with this morph
- useDeleteDrvBones (boolean) - Delete (drv) bones
bpy.ops.daz.remove_all_influs()
Remove all influence properties
bpy.ops.daz.remove_categories(selection = [], useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True)
Remove selected categories and associated drivers
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
- useDeleteProps (boolean) - Delete object and armature properties associated with this morph
- useDeleteDrivers (boolean) - Delete drivers associated with this morph
bpy.ops.daz.remove_corrupt_drivers(useClearPose = True, useConstraints = True)
Remove corrupt drivers and constraints, and drivers leading to dependencey loops
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useClearPose (boolean) - Clear pose for objects that are not bone parented
- useConstraints (boolean) - Remove constraints that can not be repaired
bpy.ops.daz.remove_driven_bones()
Remove driven (drv) bones and drive the posable bones. This undoes Make All Bones Posable
bpy.ops.daz.remove_shape_from_category(selection = [], custom = '')
Remove selected shapekeys from mesh category
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- custom (enum in []) - Category
bpy.ops.daz.remove_shapekey_drivers(selection = [], custom = '', useRemoveProps = True, useSubmeshes = True)
Remove rig drivers from shapekeys
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- custom (enum in []) - Category
- useRemoveProps (boolean) - Remove rig properties that drive the shapekeys
- useSubmeshes (boolean) - Also remove drivers from other meshes in the same figure (eye-lashes etc.)
bpy.ops.daz.remove_shapekeys(selection = [], custom = '')
Remove shapekeys and drivers from active mesh
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- custom (enum in []) - Category
bpy.ops.daz.remove_shell_images(selection = [], useDeleteProperties = True)
Remove selected shell images from selected objects
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useDeleteProperties (boolean) - Delete driving properties
bpy.ops.daz.remove_shells(selection = [])
Remove selected shells from selected objects
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.remove_standard_morphs(useDeleteShapekeys = False, useDeleteProps = True, useDeleteDrivers = True, useUnits = False, useExpressions = False, useVisemes = False, ignoreHdMorphs = False, useHead = False, useFacs = False, useFacsdetails = False, useFacsexpr = False, usePowerpose = False, useBody = False, useMhxOnly = False, useJcms = False, useMasculine = False, useFeminine = False, useAnime = False, useFlexions = False, useBulges = False, ignoreFingers = True)
Remove selected standard morphs and associated drivers
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDeleteShapekeys (boolean) - Delete both drivers and shapekeys
- useDeleteProps (boolean) - Delete object and armature properties associated with this morph
- useDeleteDrivers (boolean) - Delete drivers associated with this morph
- useUnits (boolean) - Import all face units
- useExpressions (boolean) - Import all expressions
- useVisemes (boolean) - Import all visemes
- ignoreHdMorphs (boolean) - Don't import HD morphs for units, expressions, visemes
- useHead (boolean) - Import all head morphs
- useFacs (boolean) - Import all FACS morphs
- useFacsdetails (boolean) - Import all FACS details
- useFacsexpr (boolean) - Import all FACS expressions
- usePowerpose (boolean) - Import all PowerPose expressions
- useBody (boolean) - Import all body morphs
- useMhxOnly (boolean) - Only import MHX compatible body morphs
- useJcms (boolean) - Import all JCMs
- useMasculine (boolean) - Import all maskuline JCMs
- useFeminine (boolean) - Import all feminine JCMs
- useAnime (boolean) - Import all anime morphs
- useFlexions (boolean) - Import all flexions
- useBulges (boolean) - Make all bulges (Genesis and Genesis 2)
- ignoreFingers (boolean) - Don't create morphs for fingers and toes
bpy.ops.daz.remove_visibility_drivers(useAllMeshes = False)
Remove ability to control visibility from rig property
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useAllMeshes (boolean) - Remove visibility drivers from all meshes in scene, not just children of the active rig
bpy.ops.daz.remove_zero_shapekeys()
Remove zero shapekeys and their drivers from active mesh
bpy.ops.daz.rename_category(category = "Shapes", custom = '')
Rename selected category
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- category (string) - Add morphs to this category of custom morphs
- custom (enum in []) - Category
bpy.ops.daz.render_frames(useAllArmatures = True, useOpenGl = False)
Render a range of frames as still images. To overcome problems with morphing armatures and rendering
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useAllArmatures (boolean) - Auto morph all visible armatures instead of just the visible ones
- useOpenGl (boolean) - Open GL rendering
bpy.ops.daz.replace_materials(material = '')
Replace selected materials with specified material. For copying geograft base materials
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- material (enum in []) - Use node tree from this material
bpy.ops.daz.replace_shells(selection = [])
Display shell node groups so they can be displaced
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.reset_materials()
Reset materials to original
bpy.ops.daz.resize_textures(files = [], directory = "", useHiddenMeshes = True, steps = 2, resizeAll = True)
Replace all textures of selected meshes with resized versions
** Parameters: **
- directory (string) - File directory
- files (list) - List of files in the form {"name" : filename}
- useHiddenMeshes (boolean) - Also save textures from hidden meshes
- steps (int) - Resize original images with this number of steps
- resizeAll (boolean) - Resize all textures of the selected meshes
bpy.ops.daz.restore_udims()
Restore original UV coordinates outside the [0:1] range
bpy.ops.daz.retarget_shell_drivers()
Retarget shell drivers of selected meshes to active armature
bpy.ops.daz.rigify_fk_layers()
Show FK layers and hide IK layers
bpy.ops.daz.rigify_ik_layers()
Show IK layers and hide FK layers
bpy.ops.daz.rigify_meta(useImproveIk = False, useLimitConstraints = True, useFingerIk = False, tongueControl = 'NONE', shaftControl = 'NONE', shaftName = "Shaft", driverRotationMode = 'AUTO', addNondeformExtras = True, keepRig = False, ownerThreshold = 89.000)
Convert metarig to rigify
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useImproveIk (boolean) - Improve IK by storing a bending angle. This is compatible with daz poses but does not work with rigify poles so they can not be used. Not needed if Optimize Pose for IK is used
- useLimitConstraints (boolean) - Copy limit location and limit rotation constraints to FK bones
- useFingerIk (boolean) - Generate IK controls for fingers
- tongueControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for tongue
- shaftControl (enum in ['NONE', 'WINDER', 'IK', 'BOTH']) - Generate controls for Dicktator/Futalicious shaft
- shaftName (string) - Shaft bones start with this string (case insensitive)
- driverRotationMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode for drivers. Non-native modes avoids some popping during animation at the cost of JCMs accuracy
- addNondeformExtras (boolean) - Add extra bones to the Rigify armature, even if they don't correspond to any vertex group
- keepRig (boolean) - Keep the original DAZ rig for deformation
- ownerThreshold (float) - Use local space (owner orientation) if difference in orientation exceeds this
bpy.ops.daz.rigify_set_fk_all()
Set all limb bones to FK
bpy.ops.daz.rigify_set_ik_all()
Set all limb bones to IK
bpy.ops.daz.rigify_snap_fk_all()
Snap all FK bones
bpy.ops.daz.rigify_snap_ik_all()
Snap all IK bones
bpy.ops.daz.rotate_bones(X = 0.000, Y = 0.000, Z = 0.000)
Rotate selected bones the same angle
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- X (float) - X
- Y (float) - Y
- Z (float) - Z
bpy.ops.daz.save_daz_figure(useDazDirectory = False, reldir = "", useCompress = False, presentation = 'Shape', region = "Actor", morphname = "")
Save active mesh as a DAZ figure relative to the other mesh
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
- reldir (string) - Directory relative to root path
- useCompress (boolean) - Gzip the output file
- presentation (enum in ['Shape', 'Pose', 'Corrective']) - Presentation
- region (string) - Region
- morphname (string) - Name of the morph
bpy.ops.daz.save_favo_morphs(useCompact = True, useRemoveDuplicates = True)
Save favorite morphs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useCompact (boolean) - Spread each category on multiple lines. Useful for manual editing of json files
- useRemoveDuplicates (boolean) - Remove morphs from extra categories
bpy.ops.daz.save_local_textures(useHiddenMeshes = True, keepDirs = True)
Copy textures to the textures subfolder in the blend file's directory
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useHiddenMeshes (boolean) - Also save textures from hidden meshes
- keepDirs (boolean) - Keep the directory tree from Daz Studio, otherwise flatten the directory structure
bpy.ops.daz.save_morph_presets(selection = [], useDazDirectory = False, reldir = "", useCompress = False, presentation = 'Shape', region = "Actor")
Save selected shapekeys as a morph preset
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
- reldir (string) - Directory relative to root path
- useCompress (boolean) - Gzip the output file
- presentation (enum in ['Shape', 'Pose', 'Corrective']) - Presentation
- region (string) - Region
bpy.ops.daz.save_pose_preset(frame_start = 1, frame_end = 1, useDazDirectory = False, reldir = "", useCompress = False, type = 'POSE', useAction = True, useObject = True, includeLocks = True, useScale = True, useFaceBones = True, useUnusedMorphs = True, useFinalMorphs = False, fps = 30.000)
Save the active action as a pose preset, to be used in DAZ Studio
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- frame_start (int) - Start
- frame_end (int) - End
- useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
- reldir (string) - Directory relative to root path
- useCompress (boolean) - Gzip the output file
- type (enum in ['POSE', 'MORPH', 'HIERARCHICAL', 'POSE_MORPH']) - Preset type
- useAction (boolean) - Save action instead of single pose
- useObject (boolean) - Include object in the pose preset
- includeLocks (boolean) - Include locked bone channels in the pose preset
- useScale (boolean) - Include bone scale transforms in the pose preset
- useFaceBones (boolean) - Include face bones in the pose preset
- useUnusedMorphs (boolean) - Include morphs that are constantly zero
- useFinalMorphs (boolean) - Export Final Morph Values
- fps (float) - Frames per second
bpy.ops.daz.save_poses_to_file(morphset = "All", category = "", prefix = "", ftype = "", useArmature = True, useMesh = False, useEmpty = True, useCurves = True, useCamera = True, useLight = True)
Save the current scene poses as a json file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
- useArmature (boolean) - Save action for armatures
- useMesh (boolean) - Save action for meshes
- useEmpty (boolean) - Save action for empties
- useCurves (boolean) - Save action for curves
- useCamera (boolean) - Save action for cameras
- useLight (boolean) - Save action for lights
bpy.ops.daz.save_settings_file(check_existing = True)
Save current settings to file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- check_existing (boolean) - Check and warn on overwriting existing files
bpy.ops.daz.save_uv(useDazDirectory = False, reldir = "", useCompress = False)
Save the active UV set as a duf file
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useDazDirectory (boolean) - Save the file where it can be found by DAZ Studio
- reldir (string) - Directory relative to root path
- useCompress (boolean) - Gzip the output file
bpy.ops.daz.scale_materials(units = '100', scale = 0.010, objectScale = 0.010, useUpdate = True)
Scale material properties with dimension of length (bump distance, subsurface radius, etc.)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- units (enum in ['100', '1', '0.1', '30.48', '2.54', 'Manual']) - Set global unit scale
- scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
- objectScale (float) - Scale of the active object
- useUpdate (boolean) - Update global unit scale
bpy.ops.daz.scale_objects(units = '100', scale = 0.010, objectScale = 0.010, useUpdate = True)
Safely change the unit scale of selected object and children
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- units (enum in ['100', '1', '0.1', '30.48', '2.54', 'Manual']) - Set global unit scale
- scale (float) - Scale used to convert between DAZ and Blender units. Default unit meters
- objectScale (float) - Scale of the active object
- useUpdate (boolean) - Update global unit scale
bpy.ops.daz.scan_morph_database(useActive = True, useGenesis = False, useGenesis2Female = False, useGenesis2Male = False, useGenesis3Female = False, useGenesis3Male = False, useGenesis8Female = False, useGenesis8Male = False, useGenesis8_1Female = False, useGenesis8_1Male = False, useGenesis9 = False)
Scan the DAZ database for morphs for the present mesh, and build a database
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useActive (boolean) - Only scan morphs for active mesh
- useGenesis (boolean) - Scan Genesis
- useGenesis2Female (boolean) - Scan Genesis 2 female
- useGenesis2Male (boolean) - Scan Genesis 2 male
- useGenesis3Female (boolean) - Scan Genesis 3 female
- useGenesis3Male (boolean) - Scan Genesis 3 male
- useGenesis8Female (boolean) - Scan Genesis 8 female
- useGenesis8Male (boolean) - Scan Genesis 8 male
- useGenesis8_1Female (boolean) - Scan Genesis 8.1 female
- useGenesis8_1Male (boolean) - Scan Genesis 8.1 male
- useGenesis9 (boolean) - Scan Genesis 9
bpy.ops.daz.scan_morph_directory(useFormulas = True, useSubdirs = True, useDefins = True)
Scan a single directory for morphs for the present mesh, and build a database
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useFormulas (boolean) - Include formulas
- useSubdirs (boolean) - Also scan top level subdirectories
- useDefins (boolean) - Include paths to definitions. If morph and file names differ
bpy.ops.daz.select_all()
Select all
bpy.ops.daz.select_all_materials()
Select all materials
bpy.ops.daz.select_chains(useRootsOnly = False)
Select bones in chains
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useRootsOnly (boolean) - Only select chain roots
bpy.ops.daz.select_covered_verts(maxDist = 2.000, minDist = -1.000)
Select vertices that are covered by selected meshes
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- maxDist (float) - Max distance between face and cover
- minDist (float) - Min distance between face and cover
bpy.ops.daz.select_legacy_posebones()
(undocumented operator)
bpy.ops.daz.select_matching_bones(match = "seg01")
Select bones with matching names
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- match (string) - Select all bones with matching names
bpy.ops.daz.select_mhx_compatible()
Select MHX compatible body morphs
bpy.ops.daz.select_named_layers()
Select all named layers and unselect all unnamed layers
bpy.ops.daz.select_no_material()
Select no material
bpy.ops.daz.select_none()
Select none
bpy.ops.daz.select_parent_verts()
Select parent vertices
bpy.ops.daz.select_random_strands(fraction = 0.500, seed = 0)
Select random subset of strands selected in UV space. Useful for reducing the number of strands before making particle hair
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- fraction (float) - Fraction of strands to select
- seed (int) - Seed for the random number generator
bpy.ops.daz.select_skin_materials()
Select skin materials
bpy.ops.daz.select_skin_red_materials()
Select all skin or red materials
bpy.ops.daz.select_strands_by_size(selection = [])
Select strands based on the number of faces. Useful for reducing the number of strands before making particle hair
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
bpy.ops.daz.select_strands_by_width(width = 1.000)
Select strands not wider than threshold
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- width (float) - Max allowed width (mm)
bpy.ops.daz.set_driver_modes(rotMode = 'AUTO', useQuatsOnly = True)
Change driver rotation modes. Avoids some popping during animation at the cost of JCMs accuracy
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- rotMode (enum in ['NATIVE', 'AUTO', 'SWING_TWIST_X', 'SWING_TWIST_Y', 'SWING_TWIST_Z']) - Use this rotation mode
- useQuatsOnly (boolean) - Only Quaternion Bones
bpy.ops.daz.set_envelopes(envelope_distance = 0.010, head_radius = 0.010, tail_radius = 0.010)
Change the envelopes of all deform bones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- envelope_distance (float) - Distance
- head_radius (float) - Head Radius
- tail_radius (float) - Tail Radius
bpy.ops.daz.set_hsv(saturation = 1.000, value = 1.000, factor = 1.000)
Set HSV values for shell image groups
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- saturation (float) - Saturation
- value (float) - Value
- factor (float) - Factor
bpy.ops.daz.set_shell_influence(value = 0.000)
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- value (float) - value
bpy.ops.daz.set_silent_mode()
Toggle silent mode on or off (error popups off or on)
bpy.ops.daz.set_udims(tile = 1001)
Move all UV coordinates of selected materials to specified UV tile
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- tile (int) - Tile
bpy.ops.daz.show_all_vis(prefix = "")
Show all meshes/makeup of this rig
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prefix (string) - prefix
bpy.ops.daz.snap_all_simple_fk()
Snap all FK bones to IK bones
bpy.ops.daz.snap_all_simple_ik(pole = "")
Snap all IK bones to FK bones. Snapping is only approximate
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- pole (string) - pole
bpy.ops.daz.snap_simple_fk(prefix = "", type = "", on = "", off = "")
Snap FK bones to IK bones
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prefix (string) - prefix
- type (string) - type
- on (string) - on
- off (string) - off
bpy.ops.daz.snap_simple_fk_animation(startFrame = 1, endFrame = 250, useLeftArm = True, useRightArm = True, useLeftLeg = True, useRightLeg = True, useLayerChange = False)
Snap FK animation for selected frames
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- startFrame (int) - Starting frame for the animation
- endFrame (int) - Last frame for the animation
- useLeftArm (boolean) - Include animation for left arm
- useRightArm (boolean) - Include animation for right arm
- useLeftLeg (boolean) - Include animation for left leg
- useRightLeg (boolean) - Include animation for right leg
- useLayerChange (boolean) - Change Layers
bpy.ops.daz.snap_simple_ik(prefix = "", type = "", pole = "", on = "", off = "")
Snap IK bones to FK bones. Snapping is only approximate
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prefix (string) - prefix
- type (string) - type
- pole (string) - pole
- on (string) - on
- off (string) - off
bpy.ops.daz.sort_materials_by_name()
Reorder materials by name as in DAZ Studio
bpy.ops.daz.sort_shells(useBeautify = True)
Sort selected material shells
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useBeautify (boolean) - Beautify
bpy.ops.daz.strip_material_names(useCombineMaterials = False, useStripDazEndings = True)
Strip endings from material names
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useCombineMaterials (boolean) - Combine materials with the same stripped name
- useStripDazEndings (boolean) - Strip -n endings, otherwise only strip .001 endings
bpy.ops.daz.tiles_from_geograft(useLastUdimTile = False)
Move geograft UV coordinates to same tile as body UVs
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useLastUdimTile (boolean) - Last UDIM Tile
bpy.ops.daz.toggle_all_cats(useMesh = False, useOpen = False)
Toggle all morph categories on and off
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useMesh (boolean) - useMesh
- useOpen (boolean) - useOpen
bpy.ops.daz.toggle_fk_ik(prop = "", value = 0.000)
Toggle FK/IK
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prop (string) - prop
- value (float) - value
bpy.ops.daz.toggle_hair_locks()
Disable/enable locking of all deform bones
bpy.ops.daz.toggle_shell_influence(prop = "", object = "")
(undocumented operator)
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- prop (string) - prop
- object (string) - object
bpy.ops.daz.toggle_vis(name = "")
Toggle visibility of this mesh
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- name (string) - name
bpy.ops.daz.transfer_animation_to_shapekeys()
Transfer the armature action to actions for shapekeys. From active armature to selected meshes. Transferred morph F-curves are removed from the armature action
bpy.ops.daz.transfer_from_gaze()
Transfer gaze bone animation to eye bones
bpy.ops.daz.transfer_mesh_to_shape()
Transfer selected mesh to active shapekey
bpy.ops.daz.transfer_shapekeys(selection = [], useTransferOthers = True, useNonConforming = False, ignoreRigidity = False, bodypart = 'All', needsTarget = True, transferMethod = 'NEAREST', useDrivers = True, useShapeAsDriver = True, useStrength = False, useVendorMorphs = True, useOverwrite = True, useSelectedOnly = False)
Transfer shapekeys from active mesh to selected meshes
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- useTransferOthers (boolean) - Transfer shapekeys from main mesh to other meshes
- useNonConforming (boolean) - Transfer shapekeys to non-conforming meshes
- ignoreRigidity (boolean) - Ignore rigidity groups when auto-transfer morphs. Morphs may differ from DAZ Studio
- bodypart (enum in ['All', 'Face', 'Body', 'Custom', 'NoFace']) - Part of character that the morphs affect
- needsTarget (boolean) - needsTarget
- transferMethod (enum in ['NEAREST', 'BY_NUMBER', 'BODY', 'GEOGRAFT', 'LEGACY', 'EDGES']) - Method used to transfer morphs
- useDrivers (boolean) - Transfer both shapekeys and drivers
- useShapeAsDriver (boolean) - Use the main shapekey to drive the other shapekeys
- useStrength (boolean) - Add a strength multiplier to drivers
- useVendorMorphs (boolean) - Use customized morphs provided by vendor, otherwise always auto-transfer morphs
- useOverwrite (boolean) - Overwrite existing shapekeys or create new ones
- useSelectedOnly (boolean) - Only copy to selected vertices
bpy.ops.daz.transfer_to_gaze()
Transfer eye bone animation to gaze bones
bpy.ops.daz.transfer_uv_layers()
Transfer UV layers from active to selected
bpy.ops.daz.transfer_vertex_groups(threshold = 0.001, useEdges = False)
Transfer vertex groups from active to selected
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- threshold (float) - Minimum vertex weight to keep
- useEdges (boolean) - Use edge interpolation instead of polygon interpolation
bpy.ops.daz.unkey_morphs(morphset = "All", category = "", prefix = "", ftype = "")
Remove keys from all selected morphs of specified type at current frame
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.unkey_shapes(morphset = "All", category = "", prefix = "", ftype = "")
Remove keys from all shapekeys of specified type at current frame
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- morphset (string) - morphset
- category (string) - category
- prefix (string) - prefix
- ftype (string) - ftype
bpy.ops.daz.unmute_control_rig(frame_start = 1, frame_end = 1, useShapekeys = True, useMuteAll = True, useClear = True)
Enable drivers and copy location/rotation constraints
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- frame_start (int) - Start
- frame_end (int) - End
- useShapekeys (boolean) - Mute/unmute shapekeys too
- useMuteAll (boolean) - Mute/unmute all bone constraints, not just copy transform
- useClear (boolean) - Clear the current action
bpy.ops.daz.unquote()
(undocumented operator)
bpy.ops.daz.unselect_named_layers()
Unselect all named and unnamed layers except active
bpy.ops.daz.update_all()
Update everything. Try this if driven bones are messed up
bpy.ops.daz.update_daz_properties(useScene = True, useObjects = True, useAllProps = True)
Update DAZ properties
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- useScene (boolean) - Update scene properties
- useObjects (boolean) - Update object properties
- useAllProps (boolean) - Update all properties in scene rather than selected objects only
bpy.ops.daz.update_materials()
Update Materials
bpy.ops.daz.update_morph_paths()
Update paths to predefined morphs
bpy.ops.daz.update_render_settings()
Update render and light settings if they are inadequate
bpy.ops.daz.update_scrollbars()
Update all scrollbars
bpy.ops.daz.update_settings()
Update settings from file
bpy.ops.daz.update_shell_drivers()
Update drivers if problems
bpy.ops.daz.update_slider_limits(selection = [], morphset = '', category = '', min = 0.000, max = 1.000, useSliders = True, useFinal = True, useShapekeys = True)
Update selected slider min and max values. All slider limits are selected when called from script
** Parameters: **
- selection (list) - List of items in the form {"name" : item}
- morphset (enum in []) - Type
- category (enum in []) - Category
- min (float) - Minimum slider value
- max (float) - Maximum slider value
- useSliders (boolean) - Update min and max for slider values
- useFinal (boolean) - Update min and max for final values
- useShapekeys (boolean) - Update min and max for shapekeys
bpy.ops.daz.visualize_shapekey(mindist = 0.100, maxdist = 1.000)
Visualize shapekey as a vertex group
** Parameters: **
Use import_daz.setSelection(list_of_False) to specify input False.
- mindist (float) - Lower threshold for shapekey distance, in mm
- maxdist (float) - Upper threshold for shapekey distance, in mm