fn PointsOnSpline curve Amount pointSize prefix =( --VARIABLES Y ARRAYS global PointsInitial =#() global BnsChain = #() lengthC = curvelength curve DistPoints = lengthC/Amount PathPorcentage= 100.0 /(Amount) --CREACION DE LOS PUNTOS SEGUN E AMOUNT for o= 1 to Amount+1 do ( PointsSpline = point size:5 name:(prefix + "PT_Spline" + o as string) append PointsInitial PointsSpline ) --CREACION DEL CONTROLADOR PATH CONSTRAINT Y POSTERIOR ADICION A LOS PUNTOS for o in 1 to PointsInitial.count do ( ControlerPath= Path_Constraint follow:on PointsInitial[o].pos.controller = controlerPath PointsInitial[o].pos.controller.path = curve porcentajes= PathPorcentage*(o-1) PointsInitial[o].pos.controller.percent = porcentajes deleteKeys PointsInitial ) --CREACION DE LOS HUESOS for o in 1 to PointsInitial.count-1 do ( CreateBones= bonesys.createbone (PointsInitial[o].pos) (PointsInitial[o+1].pos) [0,0,1] CreateBones.name = (prefix +"BN_Chain"+ o as string) append BnsChain CreateBones ) --CREACION DEL ULTIMO HUESO endBone = bonesys.createbone [0,0,0] [0,0,0] [0,0,1] endBone.length = BnsChain[1].width endBone.transform = BnsChain[BnsChain.count].transform endBone.position = PointsInitial[PointsInitial.count].position endBone.parent = BnsChain[BnsChain.count] --CREACION DEL POSITION CONSTRAINT for o= 1 to PointsInitial.count - 1 do ( BnsChain[o].position.controller = Position_List() BnsChain[o].position.controller.available.controller = Position_Constraint () BnsChain[o].position.controller.Position_Constraint.controller.appendTarget PointsInitial [o] 100 BnsChain[o].position.controller.setactive 2 ) ) try(destroyDialog PointsOnSpline_rl) catch() rollout PointsOnSpline_rl "POINTS ON SPLINE" ( pickbutton PickCurve_ui "PICK CURVE" spinner AmountBn_ui "AmountBn" type:#integer align:#left range:[1,10000,4] edittext Prefix_ui "Prefix" align:#left button Create_UI "CREATE CHAIN" on pickCurve_ui picked curve do ( pickCurve_ui.text= curve.name global curveSelection= pickCurve_ui.object ) on Create_UI pressed do with undo on ( PointsOnSpline (curveSelection) (AmountBn_ui.value) 10 (Prefix_ui.text) ) ) createDialog PointsOnSpline_rl