| Chih Lun's profile太陽咩咩的網誌PhotosBlogLists | Help |
|
December 20 [原創]球的rigging暫時還不能像Paul Neale做得那樣變態XD(他在球表面佈滿Ray的發射體來做變形)
滾動說實在的也少了一軸(也就是所謂的Direction)
不過應付一般動畫應該都OK吧
檔案在:
December 08 [MaxScript]bone平均切割工具 -- boneDevider----最近都在寫Script...上班太閒了嗎?XD
------------------------------------------------------------------------------------------------------------------------------------------------------------------
rollout Bone_devider "BoneDevider" width:170 height:80 ( global b_Parent global b_grandpa global b_child global startBonePos global boneChain = #() spinner spn_devide_num "" pos:[15,15] width:56 height:16 enabled:true range:[2,100,2] type:#integer scale:1 button btn_Start_devide "開始分段" pos:[16,43] width:134 height:22 label lbl1 "段數" pos:[84,16] width:58 height:20 on Bone_devider open do ( messagebox "選擇要分段的bone" title:"選" fn pickBoneOnly o = classof o == bonegeometry b_Parent = pickObject filter:pickBoneOnly if b_Parent != undefined then ( startBonePos = b_Parent.pos b_Child = b_Parent.children b_grandpa = try(b_parent.parent) catch() if b_Child.count>1 then return ( b_child = undefined messagebox "Selected Bone Contains more than one Children" title:"error" ) else () ) )--end of on rollout OPEN do on spn_devide_num changed val do spn_devide_num.value = val on btn_Start_devide pressed do ( undo on if b_child != undefined and b_Parent != undefined do ( for i = 1 to (spn_devide_num.value as integer )do ( norVec1 = normalize(b_child[1].pos - b_Parent.pos) OneSegLength = (length(b_Parent.pos-b_child[1].pos)) / (spn_devide_num.value as float) boneSequence = bonesys.createBone (startBonePos+OneSegLength*((i-1) as float)*norVec1) (startBonePos+OneSegLength*( i as float)*norVec1) [0,0,1] append boneChain bonesequence ) for j = ((spn_devide_num.value-1) as integer ) to 1 by -1 do ( boneChain[j+1].parent = boneChain[j] ) if b_grandpa != undefined then boneChain[1].parent = b_grandpa b_Child[1].parent = boneChain[(spn_devide_num.value) as integer] delete b_Parent ) ) --end of btn_Start_devide pressed event ) try (closeRolloutfloater Bone_deviderFloater)catch() Bone_deviderFloater = newRolloutFloater "Bone_devider" 170 100 addRollout Bone_devider Bone_deviderFloater |
|
|