Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @name takemikuzuchi
- @inputs JumpK
- @outputs
- @persist Walking Displacement VelD
- @trigger
- #interval(1000)
- # Leg positioning
- # 1 2
- # 3 4
- # 5 6
- # (Forward,LeftRight,Updown)
- # FrontBackLeg Mod
- A=50
- # Middle Legs Mod
- B=60
- #Leg HeighMod
- C=-5
- D=5
- E=15
- F=-17.5
- JumpD = JumpK*30
- JumpB = JumpK*40
- if(first()|dupefinished())
- {
- #HIP JOINTS
- #Front
- holoCreate(1)
- holoModel(1,"sphere")
- holoPos(1,entity():toWorld(vec(A,A,C)))
- holoAng(1,entity():toWorld(ang(-20-JumpD,45,0)))
- holoParent(1,entity())
- holoScale(1,vec(1.5,1.5,1.5))
- holoCreate(2)
- holoModel(2,"sphere")
- holoPos(2,entity():toWorld(vec(A,-A,C)))
- holoAng(2,entity():toWorld(ang(-20-JumpD,-45,0)))
- holoParent(2,entity())
- holoScale(2,vec(1.5,1.5,1.5))
- #Mid
- holoCreate(3)
- holoModel(3,"sphere")
- holoPos(3,entity():toWorld(vec(0,A,C)))
- holoAng(3,entity():toWorld(ang(-20-JumpD,90,0)))
- holoParent(3,entity())
- holoScale(3,vec(1.5,1.5,1.5))
- holoCreate(4)
- holoModel(4,"sphere")
- holoPos(4,entity():toWorld(vec(0,-A,C)))
- holoAng(4,entity():toWorld(ang(-20-JumpD,-90,0)))
- holoParent(4,entity())
- holoScale(4,vec(1.5,1.5,1.5))
- #Rear
- holoCreate(5)
- holoModel(5,"sphere")
- holoPos(5,entity():toWorld(vec(-A,-A,C)))
- holoAng(5,entity():toWorld(ang(-20-JumpD,-135,0)))
- holoParent(5,entity())
- holoScale(5,vec(1.5,1.5,1.5))
- holoCreate(6)
- holoModel(6,"sphere")
- holoPos(6,entity():toWorld(vec(-A,A,C)))
- holoAng(6,entity():toWorld(ang(-20-JumpD,135,0)))
- holoParent(6,entity())
- holoScale(6,vec(1.5,1.5,1.5))
- #END HIPS
- # THIGS
- ThighModel="models/Slyfo_2/protorover_eng_sf2m.mdl"
- #front
- holoCreate(7)
- holoModel(7,ThighModel)
- holoScale(7,vec(1,1,1))
- holoPos(7,holoEntity(1):toWorld(vec(30,0,0)))
- holoAng(7,holoEntity(1):toWorld(ang(0,-0,0)))
- holoParent(7,holoEntity(1))
- holoCreate(8)
- holoModel(8,ThighModel)
- holoScale(8,vec(1,1,1))
- holoPos(8,holoEntity(2):toWorld(vec(30,-0,0)))
- holoAng(8,holoEntity(2):toWorld(ang(0,-0,0)))
- holoParent(8,holoEntity(2))
- #Middle
- holoCreate(9)
- holoModel(9,ThighModel)
- holoScale(9,vec(1,1,1))
- holoPos(9,holoEntity(3):toWorld(vec(30,0,0)))
- holoAng(9,holoEntity(3):toWorld(ang(0,0,0)))
- holoParent(9,holoEntity(3))
- holoCreate(10)
- holoModel(10,ThighModel)
- holoScale(10,vec(1,1,1))
- holoPos(10,holoEntity(4):toWorld(vec(30,-0,0)))
- holoAng(10,holoEntity(4):toWorld(ang(0,-0,0)))
- holoParent(10,holoEntity(4))
- #Rear
- holoCreate(11)
- holoModel(11,ThighModel)
- holoScale(11,vec(1,1,1))
- holoPos(11,holoEntity(5):toWorld(vec(30,0,0)))
- holoAng(11,holoEntity(5):toWorld(ang(-0,-0,0)))
- holoParent(11,holoEntity(5))
- holoCreate(12)
- holoModel(12,ThighModel)
- holoScale(12,vec(1,1,1))
- holoPos(12,holoEntity(6):toWorld(vec(30,-0,0)))
- holoAng(12,holoEntity(6):toWorld(ang(-0,-0,0)))
- holoParent(12,holoEntity(6))
- #KNEES
- #Front
- holoCreate(13)
- holoModel(13,"sphere")
- holoPos(13,holoEntity(1):toWorld(vec(70,-0,0)))
- holoAng(13,holoEntity(1):toWorld(ang(50+JumpB,0,0)))
- holoParent(13,holoEntity(1))
- holoScale(13,vec(1.5,1.5,1.5))
- holoCreate(14)
- holoModel(14,"sphere")
- holoPos(14,holoEntity(2):toWorld(vec(70,0,0)))
- holoAng(14,holoEntity(2):toWorld(ang(50+JumpB,0,0)))
- holoParent(14,holoEntity(2))
- holoScale(14,vec(1.5,1.5,1.5))
- #Middle
- holoCreate(15)
- holoModel(15,"sphere")
- holoPos(15,holoEntity(3):toWorld(vec(70,-0,0)))
- holoAng(15,holoEntity(3):toWorld(ang(50+JumpB,0,0)))
- holoParent(15,holoEntity(3))
- holoScale(15,vec(1.5,1.5,1.5))
- holoCreate(16)
- holoModel(16,"sphere")
- holoPos(16,holoEntity(4):toWorld(vec(70,0,0)))
- holoAng(16,holoEntity(4):toWorld(ang(50+JumpB,0,0)))
- holoParent(16,holoEntity(4))
- holoScale(16,vec(1.5,1.5,1.5))
- #Rear
- holoCreate(17)
- holoModel(17,"sphere")
- holoPos(17,holoEntity(5):toWorld(vec(70,-0,0)))
- holoAng(17,holoEntity(5):toWorld(ang(50+JumpB,0,0)))
- holoParent(17,holoEntity(5))
- holoScale(17,vec(1.5,1.5,1.5))
- holoCreate(18)
- holoModel(18,"sphere")
- holoPos(18,holoEntity(6):toWorld(vec(70,0,0)))
- holoAng(18,holoEntity(6):toWorld(ang(50+JumpB,0,0)))
- holoParent(18,holoEntity(6))
- holoScale(18,vec(1.5,1.5,1.5))
- #Legs
- LegModel="models/Slyfo_2/protorover_eng_sf2r.mdl"
- holoCreate(19)
- holoModel(19,LegModel)
- holoScale(19,vec(2,1,1))
- holoPos(19,holoEntity(13):toWorld(vec(70,0,0)))
- holoAng(19,holoEntity(13):toWorld(ang(0,0,0)))
- holoParent(19,holoEntity(13))
- holoCreate(20)
- holoModel(20,LegModel)
- holoScale(20,vec(2,1,1))
- holoPos(20,holoEntity(14):toWorld(vec(70,-0,0)))
- holoAng(20,holoEntity(14):toWorld(ang(0,-0,0)))
- holoParent(20,holoEntity(14))
- #Middle
- holoCreate(21)
- holoModel(21,LegModel)
- holoScale(21,vec(2,1,1))
- holoPos(21,holoEntity(15):toWorld(vec(70,0,0)))
- holoAng(21,holoEntity(15):toWorld(ang(0,0,0)))
- holoParent(21,holoEntity(15))
- holoCreate(22)
- holoModel(22,LegModel)
- holoScale(22,vec(2,1,1))
- holoPos(22,holoEntity(16):toWorld(vec(70,-0,0)))
- holoAng(22,holoEntity(16):toWorld(ang(0,-0,0)))
- holoParent(22,holoEntity(16))
- #Rear
- holoCreate(23)
- holoModel(23,LegModel)
- holoScale(23,vec(2,1,1))
- holoPos(23,holoEntity(17):toWorld(vec(70,0,0)))
- holoAng(23,holoEntity(17):toWorld(ang(0,0,0)))
- holoParent(23,holoEntity(17))
- holoCreate(24)
- holoModel(24,LegModel)
- holoScale(24,vec(2,1,1))
- holoPos(24,holoEntity(18):toWorld(vec(70,-0,0)))
- holoAng(24,holoEntity(18):toWorld(ang(0,-0,0)))
- holoParent(24,holoEntity(18))
- #FEET
- FootModel="models/Slyfo_2/smltorpedotubeminimal.mdl"
- holoCreate(25)
- holoModel(25,FootModel)
- holoPos(25,holoEntity(13):toWorld(vec(180,0,20)))
- holoAng(25,entity():toWorld(ang(0,-45,0)))
- holoParent(25,holoEntity(13))
- holoCreate(26)
- holoModel(26,FootModel)
- holoPos(26,holoEntity(14):toWorld(vec(180,0,20)))
- holoAng(26,entity():toWorld(ang(0,-135,0)))
- holoParent(26,holoEntity(14))
- #MIDDLE
- holoCreate(27)
- holoModel(27,FootModel)
- holoPos(27,holoEntity(15):toWorld(vec(180,0,20)))
- holoAng(27,entity():toWorld(ang(0,-0,0)))
- holoParent(27,holoEntity(15))
- holoCreate(28)
- holoModel(28,FootModel)
- holoPos(28,holoEntity(16):toWorld(vec(180,0,20)))
- holoAng(28,entity():toWorld(ang(0,-180,0)))
- holoParent(28,holoEntity(16))
- #REAR
- holoCreate(29)
- holoModel(29,FootModel)
- holoPos(29,holoEntity(17):toWorld(vec(180,0,20)))
- holoAng(29,entity():toWorld(ang(0,135,0)))
- holoParent(29,holoEntity(17))
- holoCreate(30)
- holoModel(30,FootModel)
- holoPos(30,holoEntity(18):toWorld(vec(180,0,20)))
- holoAng(30,entity():toWorld(ang(0,45,0)))
- holoParent(30,holoEntity(18))
- }
- timer("walking",100)
- if(clk("walking"))
- {
- Displacement += entity():velL():x()/6
- Vel = clamp(abs(entity():velL():x())/3,0,1)
- if(Vel < 0.2)
- {Vel = 0}
- if(VelD < Vel)
- {VelD += 0.2}
- if(VelD > Vel)
- {VelD -= 0.2}
- HipBendAngle = -55
- KneeBendAngle = 110
- TurningVel = entity():angVel():yaw()/30
- TurningLeft = 1 + clamp(-TurningVel, -0.3, 30)
- TurningRight = 1 + clamp(TurningVel, -0.3, 30)
- TBP = 10
- TBY = 15
- TCPMin = -15
- TCPMax = 0
- TCYMin = -14
- TCYMax = 14
- KBP = 15
- KCPMin = -15
- KCPMax = 0
- #Left Front
- SinPDisp = sin(Displacement + 180)
- CosPDisp = cos(Displacement + 180)
- holoAng(1,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90+(-30 + clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
- holoAng(13,holoEntity(1):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- #Left Mid
- SinPDisp = sin(Displacement)
- CosPDisp = cos(Displacement)
- holoAng(3,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90+(clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
- holoAng(15,holoEntity(3):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- #Left Back
- SinPDisp = sin(Displacement + 180)
- CosPDisp = cos(Displacement + 180)
- holoAng(6,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosPDisp*TBP,TCPMin, TCPMax)*VelD,90 + (20 + clamp(SinPDisp*TBY, TCYMin, TCYMax))/TurningLeft,0)))
- holoAng(18,holoEntity(6):toWorld(ang(KneeBendAngle+JumpB + clamp(CosPDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- #Right Front
- SinNDisp = sin(-Displacement)
- CosNDisp = cos(-Displacement)
- holoAng(2,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 +(30 + clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
- holoAng(14,holoEntity(2):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- #Right Mid
- SinNDisp = sin(-Displacement + 180)
- CosNDisp = cos(-Displacement + 180)
- holoAng(4,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 +(clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
- holoAng(16,holoEntity(4):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- #Right Back
- SinNDisp = sin(-Displacement)
- CosNDisp = cos(-Displacement)
- holoAng(5,entity():toWorld(ang(HipBendAngle-JumpD + clamp(CosNDisp*TBP,TCPMin, TCPMax)*VelD,-90 + (-30 + clamp(SinNDisp*TBY, TCYMin, TCYMax))/TurningRight,0)))
- holoAng(17,holoEntity(5):toWorld(ang(KneeBendAngle+JumpB + clamp(CosNDisp*KBP,KCPMin, KCPMax)*VelD ,0,0)))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement