Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.20 KB | None | 0 0
  1. @name takemikuzuchi
  2. @inputs JumpK
  3. @outputs
  4. @persist Walking Displacement VelD
  5. @trigger
  6. #interval(1000)
  7. # Leg positioning
  8. # 1 2
  9. # 3 4
  10. # 5 6
  11. # (Forward,LeftRight,Updown)
  12. # FrontBackLeg Mod
  13. A=50
  14. # Middle Legs Mod
  15. B=60
  16. #Leg HeighMod
  17. C=-5
  18. D=5
  19. E=15
  20. F=-17.5
  21. JumpD = JumpK*30
  22. JumpB = JumpK*40
  23. if(first()|dupefinished())
  24. {
  25. #HIP JOINTS
  26. #Front
  27. holoCreate(1)
  28. holoModel(1,"sphere")
  29. holoPos(1,entity():toWorld(vec(A,A,C)))
  30. holoAng(1,entity():toWorld(ang(-20-JumpD,45,0)))
  31. holoParent(1,entity())
  32. holoScale(1,vec(1.5,1.5,1.5))
  33. holoCreate(2)
  34. holoModel(2,"sphere")
  35. holoPos(2,entity():toWorld(vec(A,-A,C)))
  36. holoAng(2,entity():toWorld(ang(-20-JumpD,-45,0)))
  37. holoParent(2,entity())
  38. holoScale(2,vec(1.5,1.5,1.5))
  39. #Mid
  40. holoCreate(3)
  41. holoModel(3,"sphere")
  42. holoPos(3,entity():toWorld(vec(0,A,C)))
  43. holoAng(3,entity():toWorld(ang(-20-JumpD,90,0)))
  44. holoParent(3,entity())
  45. holoScale(3,vec(1.5,1.5,1.5))
  46. holoCreate(4)
  47. holoModel(4,"sphere")
  48. holoPos(4,entity():toWorld(vec(0,-A,C)))
  49. holoAng(4,entity():toWorld(ang(-20-JumpD,-90,0)))
  50. holoParent(4,entity())
  51. holoScale(4,vec(1.5,1.5,1.5))
  52. #Rear
  53. holoCreate(5)
  54. holoModel(5,"sphere")
  55. holoPos(5,entity():toWorld(vec(-A,-A,C)))
  56. holoAng(5,entity():toWorld(ang(-20-JumpD,-135,0)))
  57. holoParent(5,entity())
  58. holoScale(5,vec(1.5,1.5,1.5))
  59. holoCreate(6)
  60. holoModel(6,"sphere")
  61. holoPos(6,entity():toWorld(vec(-A,A,C)))
  62. holoAng(6,entity():toWorld(ang(-20-JumpD,135,0)))
  63. holoParent(6,entity())
  64. holoScale(6,vec(1.5,1.5,1.5))
  65. #END HIPS
  66. # THIGS
  67. ThighModel="models/Slyfo_2/protorover_eng_sf2m.mdl"
  68. #front
  69. holoCreate(7)
  70. holoModel(7,ThighModel)
  71. holoScale(7,vec(1,1,1))
  72. holoPos(7,holoEntity(1):toWorld(vec(30,0,0)))
  73. holoAng(7,holoEntity(1):toWorld(ang(0,-0,0)))
  74. holoParent(7,holoEntity(1))
  75. holoCreate(8)
  76. holoModel(8,ThighModel)
  77. holoScale(8,vec(1,1,1))
  78. holoPos(8,holoEntity(2):toWorld(vec(30,-0,0)))
  79. holoAng(8,holoEntity(2):toWorld(ang(0,-0,0)))
  80. holoParent(8,holoEntity(2))
  81. #Middle
  82. holoCreate(9)
  83. holoModel(9,ThighModel)
  84. holoScale(9,vec(1,1,1))
  85. holoPos(9,holoEntity(3):toWorld(vec(30,0,0)))
  86. holoAng(9,holoEntity(3):toWorld(ang(0,0,0)))
  87. holoParent(9,holoEntity(3))
  88. holoCreate(10)
  89. holoModel(10,ThighModel)
  90. holoScale(10,vec(1,1,1))
  91. holoPos(10,holoEntity(4):toWorld(vec(30,-0,0)))
  92. holoAng(10,holoEntity(4):toWorld(ang(0,-0,0)))
  93. holoParent(10,holoEntity(4))
  94. #Rear
  95. holoCreate(11)
  96. holoModel(11,ThighModel)
  97. holoScale(11,vec(1,1,1))
  98. holoPos(11,holoEntity(5):toWorld(vec(30,0,0)))
  99. holoAng(11,holoEntity(5):toWorld(ang(-0,-0,0)))
  100. holoParent(11,holoEntity(5))
  101. holoCreate(12)
  102. holoModel(12,ThighModel)
  103. holoScale(12,vec(1,1,1))
  104. holoPos(12,holoEntity(6):toWorld(vec(30,-0,0)))
  105. holoAng(12,holoEntity(6):toWorld(ang(-0,-0,0)))
  106. holoParent(12,holoEntity(6))
  107. #KNEES
  108. #Front
  109. holoCreate(13)
  110. holoModel(13,"sphere")
  111. holoPos(13,holoEntity(1):toWorld(vec(70,-0,0)))
  112. holoAng(13,holoEntity(1):toWorld(ang(50+JumpB,0,0)))
  113. holoParent(13,holoEntity(1))
  114. holoScale(13,vec(1.5,1.5,1.5))
  115. holoCreate(14)
  116. holoModel(14,"sphere")
  117. holoPos(14,holoEntity(2):toWorld(vec(70,0,0)))
  118. holoAng(14,holoEntity(2):toWorld(ang(50+JumpB,0,0)))
  119. holoParent(14,holoEntity(2))
  120. holoScale(14,vec(1.5,1.5,1.5))
  121. #Middle
  122. holoCreate(15)
  123. holoModel(15,"sphere")
  124. holoPos(15,holoEntity(3):toWorld(vec(70,-0,0)))
  125. holoAng(15,holoEntity(3):toWorld(ang(50+JumpB,0,0)))
  126. holoParent(15,holoEntity(3))
  127. holoScale(15,vec(1.5,1.5,1.5))
  128. holoCreate(16)
  129. holoModel(16,"sphere")
  130. holoPos(16,holoEntity(4):toWorld(vec(70,0,0)))
  131. holoAng(16,holoEntity(4):toWorld(ang(50+JumpB,0,0)))
  132. holoParent(16,holoEntity(4))
  133. holoScale(16,vec(1.5,1.5,1.5))
  134. #Rear
  135. holoCreate(17)
  136. holoModel(17,"sphere")
  137. holoPos(17,holoEntity(5):toWorld(vec(70,-0,0)))
  138. holoAng(17,holoEntity(5):toWorld(ang(50+JumpB,0,0)))
  139. holoParent(17,holoEntity(5))
  140. holoScale(17,vec(1.5,1.5,1.5))
  141. holoCreate(18)
  142. holoModel(18,"sphere")
  143. holoPos(18,holoEntity(6):toWorld(vec(70,0,0)))
  144. holoAng(18,holoEntity(6):toWorld(ang(50+JumpB,0,0)))
  145. holoParent(18,holoEntity(6))
  146. holoScale(18,vec(1.5,1.5,1.5))
  147. #Legs
  148. LegModel="models/Slyfo_2/protorover_eng_sf2r.mdl"
  149. holoCreate(19)
  150. holoModel(19,LegModel)
  151. holoScale(19,vec(2,1,1))
  152. holoPos(19,holoEntity(13):toWorld(vec(70,0,0)))
  153. holoAng(19,holoEntity(13):toWorld(ang(0,0,0)))
  154. holoParent(19,holoEntity(13))
  155. holoCreate(20)
  156. holoModel(20,LegModel)
  157. holoScale(20,vec(2,1,1))
  158. holoPos(20,holoEntity(14):toWorld(vec(70,-0,0)))
  159. holoAng(20,holoEntity(14):toWorld(ang(0,-0,0)))
  160. holoParent(20,holoEntity(14))
  161. #Middle
  162. holoCreate(21)
  163. holoModel(21,LegModel)
  164. holoScale(21,vec(2,1,1))
  165. holoPos(21,holoEntity(15):toWorld(vec(70,0,0)))
  166. holoAng(21,holoEntity(15):toWorld(ang(0,0,0)))
  167. holoParent(21,holoEntity(15))
  168. holoCreate(22)
  169. holoModel(22,LegModel)
  170. holoScale(22,vec(2,1,1))
  171. holoPos(22,holoEntity(16):toWorld(vec(70,-0,0)))
  172. holoAng(22,holoEntity(16):toWorld(ang(0,-0,0)))
  173. holoParent(22,holoEntity(16))
  174. #Rear
  175. holoCreate(23)
  176. holoModel(23,LegModel)
  177. holoScale(23,vec(2,1,1))
  178. holoPos(23,holoEntity(17):toWorld(vec(70,0,0)))
  179. holoAng(23,holoEntity(17):toWorld(ang(0,0,0)))
  180. holoParent(23,holoEntity(17))
  181. holoCreate(24)
  182. holoModel(24,LegModel)
  183. holoScale(24,vec(2,1,1))
  184. holoPos(24,holoEntity(18):toWorld(vec(70,-0,0)))
  185. holoAng(24,holoEntity(18):toWorld(ang(0,-0,0)))
  186. holoParent(24,holoEntity(18))
  187.  
  188.  
  189. #FEET
  190. FootModel="models/Slyfo_2/smltorpedotubeminimal.mdl"
  191. holoCreate(25)
  192. holoModel(25,FootModel)
  193. holoPos(25,holoEntity(13):toWorld(vec(180,0,20)))
  194. holoAng(25,entity():toWorld(ang(0,-45,0)))
  195. holoParent(25,holoEntity(13))
  196. holoCreate(26)
  197. holoModel(26,FootModel)
  198. holoPos(26,holoEntity(14):toWorld(vec(180,0,20)))
  199. holoAng(26,entity():toWorld(ang(0,-135,0)))
  200. holoParent(26,holoEntity(14))
  201. #MIDDLE
  202. holoCreate(27)
  203. holoModel(27,FootModel)
  204. holoPos(27,holoEntity(15):toWorld(vec(180,0,20)))
  205. holoAng(27,entity():toWorld(ang(0,-0,0)))
  206. holoParent(27,holoEntity(15))
  207. holoCreate(28)
  208. holoModel(28,FootModel)
  209. holoPos(28,holoEntity(16):toWorld(vec(180,0,20)))
  210. holoAng(28,entity():toWorld(ang(0,-180,0)))
  211. holoParent(28,holoEntity(16))
  212. #REAR
  213. holoCreate(29)
  214. holoModel(29,FootModel)
  215. holoPos(29,holoEntity(17):toWorld(vec(180,0,20)))
  216. holoAng(29,entity():toWorld(ang(0,135,0)))
  217. holoParent(29,holoEntity(17))
  218. holoCreate(30)
  219. holoModel(30,FootModel)
  220. holoPos(30,holoEntity(18):toWorld(vec(180,0,20)))
  221. holoAng(30,entity():toWorld(ang(0,45,0)))
  222. holoParent(30,holoEntity(18))
  223. }
  224.  
  225. timer("walking",100)
  226. if(clk("walking"))
  227. {
  228. Displacement += entity():velL():x()/6
  229.  
  230. Vel = clamp(abs(entity():velL():x())/3,0,1)
  231. if(Vel < 0.2)
  232. {Vel = 0}
  233.  
  234. if(VelD < Vel)
  235. {VelD += 0.2}
  236. if(VelD > Vel)
  237. {VelD -= 0.2}
  238.  
  239. HipBendAngle = -55
  240. KneeBendAngle = 110
  241. TurningVel = entity():angVel():yaw()/30
  242. TurningLeft = 1 + clamp(-TurningVel, -0.3, 30)
  243. TurningRight = 1 + clamp(TurningVel, -0.3, 30)
  244.  
  245.  
  246. TBP = 10
  247. TBY = 15
  248. TCPMin = -15
  249. TCPMax = 0
  250.  
  251.  
  252. TCYMin = -14
  253. TCYMax = 14
  254.  
  255. KBP = 15
  256. KCPMin = -15
  257. KCPMax = 0
  258.  
  259.  
  260.  
  261. #Left Front
  262. SinPDisp = sin(Displacement + 180)
  263. CosPDisp = cos(Displacement + 180)
  264. holoAng(1,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90+(-30 + clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
  265. holoAng(13,holoEntity(1):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  266. #Left Mid
  267. SinPDisp = sin(Displacement)
  268. CosPDisp = cos(Displacement)
  269. holoAng(3,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90+(clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
  270. holoAng(15,holoEntity(3):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  271. #Left Back
  272. SinPDisp = sin(Displacement + 180)
  273. CosPDisp = cos(Displacement + 180)
  274. holoAng(6,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90 + (20 + clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
  275. holoAng(18,holoEntity(6):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  276. #Right Front
  277. SinNDisp = sin(-Displacement)
  278. CosNDisp = cos(-Displacement)
  279. holoAng(2,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 +(30 + clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
  280. holoAng(14,holoEntity(2):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  281. #Right Mid
  282. SinNDisp = sin(-Displacement + 180)
  283. CosNDisp = cos(-Displacement + 180)
  284. holoAng(4,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 +(clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
  285. holoAng(16,holoEntity(4):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  286. #Right Back
  287. SinNDisp = sin(-Displacement)
  288. CosNDisp = cos(-Displacement)
  289. holoAng(5,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 + (-30 + clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
  290. holoAng(17,holoEntity(5):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
  291. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement