触角脚本 在新浪中 他妈的 自动的改东西。

rollout rollTentacle "Tentacles"
(
 spinner UInBones "Number of Bones:" type:#integer range:[0,99999,5]
 spinner UIBonesLength "Bones Length:" type:#float range:[0,9999,30]
 button UICreate "Create"
 on UICreate pressed do
 (
  undo on
  (
  punto=point()
  punto.transform= matrix3 1
  prevNode=punto
  attributesIns=attributes TentaclesAttributes
  (
   parameters paramsTA rollout:rollTA
   (
    FWeightManual type:#float ui:UIWeightManual default:0
 FWeightProcedural type:#float ui:UIWeightProcedural default:100
    FFrec type:#float ui:uiFrec default:10
 FAmplitudeB type:#float ui:UIAmplitudeB default:1
 FAmplitudeE type:#float ui:UIAmplitudeE default:2
 FPhase type:#float ui:UIPhase
 FOffset type:#float ui:UIOffset
   )
   rollout rollTA "Tentacle_Parameters"
   (
    group "Wave Parameters"
 (
     spinner UIFrec "Frecuency:" range:[-9999,9999,0]
  spinner UIAmplitudeB "Amplitude B:" range:[-360,360,0]
  spinner UIAmplitudeE "Amplitude E:" range:[-360,360,0]
  spinner UIPhase "Phase:" range:[-9999,9999,0]
  spinner UIOffset "Offset:" range:[-9999,9999,0]
 )
 group "General Weights"
 (
  slider UIWeightManual "Manual:" range:[0,100,0]
  slider UIWeightProcedural "Procedural:" range:[0,100,0]
 )
   )
  )
  addmodifier punto (EmptyModifier())
  punto.modifiers[1].name="WaveControl"
  custattributes.add  punto.modifiers[1] attributesIns
  TAtt=punto.modifiers[1].TentaclesAttributes
  TAtt.FWeightManual.controller=bezier_float()
  TAtt.FWeightProcedural.controller=bezier_float()
  TAtt.FFrec.controller=bezier_float()
  TAtt.FAmplitudeB.controller=bezier_float()
  TAtt.FAmplitudeE.controller=bezier_float()
  TAtt.FPhase.controller=bezier_float()
  TAtt.FOffset.controller=bezier_float()
  n=UInBones.value
  for i=1 to n do
  (
   BoneVar=bonesys.createbone [(i-1)*UIBonesLength.value,0,0] [i*UIBonesLength.value,0,0] [0,0,1]
   BoneVar.parent=prevNode
   BoneVar.rotation.controller=rotation_list()
   ScriptVar=euler_xyz()
   BoneVar.rotation.controller.available.controller=ScriptVar
 
   ScriptVar.z_rotation.controller=float_expression()
   ScriptVar=ScriptVar.z_rotation.controller
   ScriptVar.addScalartarget "Frec" TAtt.FFrec.controller
   ScriptVar.addScalartarget "AB" TAtt.FAmplitudeB.controller
   ScriptVar.addScalartarget "AE" TAtt.FAmplitudeE.controller
   ScriptVar.addScalartarget "Phase" TAtt.FPhase.controller
   ScriptVar.addScalartarget "Offset" TAtt.FOffset.controller
   StringVar="degToRad(sin(F*Frec+Phase+Offset*"+(((i-1)/(n-1) as float) as string)+")*(AB*"+((1.0-(i/n as float)) as string)+"+AE*"+(((i/n as float)) as string)+"))"
   ScriptVar.SetExpression StringVar
   BoneVar.rotation.controller.weight[1].controller=float_expression()
   BoneVar.rotation.controller.weight[1].controller.addScalartarget "Weight" TAtt.FWeightManual.controller
   BoneVar.rotation.controller.weight[1].controller.setExpression "Weight/100"
   BoneVar.rotation.controller.weight[2].controller=float_expression()
   BoneVar.rotation.controller.weight[2].controller.addScalartarget "Weight" TAtt.FWeightProcedural.controller
   BoneVar.rotation.controller.weight[2].controller.setExpression "Weight/100"
   prevNode=BoneVar
  )
  )
 )
)
createdialog rollTentacle 180 80

posted on 2011-04-19 11:05  盖天00  阅读(375)  评论(0编辑  收藏  举报

导航