このノード状態がキレイなので「bindPose1が一つだけ」キープしながらモデリング編集すること。
Genesis9 やったこと
—————————————-ここからはモデリングとする。——————————————–
Das3D 4.22 のGenesis9を
Maya2022に持ってきて
duplicateでスキンバインド外し=複製して
meshGroupのグループに
・genesis9のまつ毛や口のレイヤーも入れる(skinCluster初めから無いので)
・Marvelous Designerの服レイヤーも入れる
・highheelレイヤーも入れる
highheelの高さにhipとmeshGroupをmoveする。(オプション)
↑高さはBluePrintで変更可能
—————————————-ここまではモデリングとする。——————————————–
新しい方の骨とmeshGroupでバインド
↑ちゃんとしたバインドオプションが重要
cmds.skinBind()引数なしじゃclusterがダメ
genesis9からcopySkinWeightした
モデル編集後ファイル (自分用リンク)」
jennie9_6_v12z_v00122_dupGen9_Kihon.zip
#jennie9_6_v12z_v00122_dupGen9_Kihon__ModelEnd_SkinBindSkinWeight.py
def startSelectionToNewSkinCluster():
selectList=cmds.ls(sl=1,long=1)
print("selectList= "+str(selectList))
# 全部必要だから引数にした
Genesis9 = selectList[0]
Genesis9_Mesh = selectList[1]
Genesis9s = selectList[2]
MeshGroup = selectList[3]
#------------------------------------------------------------------------
ModelEnd_SkinBind(Genesis9s,MeshGroup)
ModelEnd_SkinWeight(Genesis9,Genesis9_Mesh,Genesis9s,MeshGroup)
#------------------------------------------------------------------------
def ModelEnd_SkinBind(Genesis9s,MeshGroup):
cmds.select(Genesis9s,MeshGroup)
#MEL (Script found in: C:/Program Files/Autodesk/Maya2022/scripts/others/newSkinCluster.mel)
#newSkinCluster " -bindMethod 0 -normalizeWeights 1 -weightDistribution 0 -mi 3 -dr 4 -rui false -ihs , multipleBindPose, 0";
#Python でMEL実行
import maya.mel
maya.mel.eval('newSkinCluster " -bindMethod 0 -normalizeWeights 1 -weightDistribution 0 -mi 3 -dr 4 -rui false -ihs , multipleBindPose, 0";')
#Python NG 'maya.cmds' has no attribute 'newSkinCluster' #
#cmds.newSkinCluster(" -bindMethod 0 -normalizeWeights 1 -weightDistribution 0 -mi 3 -dr 4 -rui false -ihs , multipleBindPose, 0")
#import pymel.core as pm #OK
#pm.mel.newSkinCluster(" -bindMethod 0 -normalizeWeights 1 -weightDistribution 0 -mi 3 -dr 4 -rui false -ihs , multipleBindPose, 0")
def ModelEnd_SkinWeight(Genesis9,Genesis9_Mesh,Genesis9s,MeshGroup):
Genesis9_Low_skincluster = Get_SkinCluster(Genesis9_Mesh)
print("Genesis9_Low_skincluster= "+str(Genesis9_Low_skincluster))
MeshList = cmds.listRelatives(MeshGroup,shapes=0,fullPath=1)
print("MeshList= "+str(MeshList))
for closet_mesh in MeshList:
closet_skinCluster = Get_SkinCluster(closet_mesh)
print("closet_skinCluster= "+str(closet_skinCluster))
# 元のスキンクラスターを服のスキンクラスターへコピースキンウェイト
cmds.copySkinWeights(
sourceSkin = Genesis9_Low_skincluster,
destinationSkin = closet_skinCluster,
noMirror=True,
influenceAssociation="oneToOne",
surfaceAssociation="closestPoint"
)
def Get_SkinCluster(LowMeshTransformLong):
# トランスフォームのシェイプノードを取得
shapeList = cmds.listRelatives(LowMeshTransformLong, shapes=True, noIntermediate=True,fullPath=True)
#print("shapeList= "+str(shapeList))
# lowのヒストリーを取得し、スキンクラスターのみ取得
historyList = cmds.listHistory(shapeList[0], pruneDagObjects=True, interestLevel=2)
#print("historyList= "+str(historyList))
skinclusterList = cmds.ls(historyList, type="skinCluster")
#print("skinclusterList= "+str(skinclusterList))
skincluster = skinclusterList[0]
#print("skincluster= "+str(skincluster))
return skincluster
startSelectionToNewSkinCluster()
完成ファイル (自分用リンク)
jennie9_6_v12z_v00127_Mouse_SW_Take2OK_Kihon_UE532ExportEnd.zip
#MEL (Script found in: C:/Program Files/Autodesk/Maya2022/scripts/others/newSkinCluster.mel)
newSkinCluster ” -bindMethod 0 -normalizeWeights 1 -weightDistribution 0 -mi 3 -dr 4 -rui false -ihs , multipleBindPose, 0″;
が大発見ですね