Question by 
               Michael2D · Nov 05, 2016 at 06:34 PM · 
                characteranimationsjson  
              
 
              Armed Unity Parkour
Hi can someone help me how to add animations to AU parkour???
 var hitConfig : boolean = false;
 var canClimb : boolean = false;
 var climbing : boolean = false;
 var once : boolean = false;
 private var hit : RaycastHit;
 private var endPos : Vector3;
 private var endRot : Quaternion;
 
 var distance : float = 2.0;
 var layerMask : LayerMask;
 
 var controller : CODcontroller;
 var codhealth : CODcontrollerHealth;
 var playerweapons : PlayerWeapons;
 var vaultSound : AudioClip;
 var vaultSound2 : AudioClip;
 var vaultSound3 : AudioClip;
 var adjust : Vector3;
 var cameraGO : Transform;
 
 //We hide our soldier because we don't have proper animation for parkour
 var legs : SkinnedMeshRenderer;
 var shadowLegs : SkinnedMeshRenderer;
 var wep : MeshRenderer;
 
 function Update(){
     // just to check if player is in standing position, otherwise disable functionality.
     if(cameraGO.transform.localPosition.y != -0.2) return;
     
     var direction : Vector3 = transform.TransformDirection (Vector3.forward);
     Debug.DrawRay (transform.position + adjust, direction * distance, Color.green);  
     if(Physics.Raycast (transform.position + adjust, direction, hit, distance, layerMask)){ 
         var pConf : ParkourConfig = hit.collider.GetComponent("ParkourConfig");
         
         hitConfig = pConf.climbOver;
         canClimb = true;
         if(Input.GetKey(KeyCode.Space) && !climbing){
             endRot = Quaternion.FromToRotation(-Vector3.forward, hit.normal);
             endPos = pConf.endPosition;
             climbing = true;
             MoveObject(transform.position, pConf.climbTime);
         }
     }else if(Physics.Raycast (transform.position + adjust, direction, hit, distance)){
         if(Input.GetKeyDown(KeyCode.Space) && controller.velMagnitude > .1){
             controller.JumpFromWall ();
             //codhealth.ClimbEffect(0);
         }
         canClimb = false;
         hitConfig = false;
     }else{
         canClimb = false;
         hitConfig = false;
     }
 
     if(controller.grounded) adjust = Vector3(0,0,0);
     else adjust = Vector3(0,1.8,0);
 }
 
 function MoveObject (sPos : Vector3, time : float) {
     if(!controller.grounded && playerweapons.weaponsInUse[playerweapons.currentWeapon] != playerweapons.weaponList[0]){
         climbing = false;
         return;
     }
     
     controller.enabled = false;
     legs.enabled = true;
     shadowLegs.enabled = false;
     wep.enabled = false;
     
     if(controller.grounded){
         if(playerweapons.weaponsInUse[playerweapons.currentWeapon] != playerweapons.weaponList[0] && playerweapons.currentWeapon != 2){
             playerweapons.QuickDeselectWeapon();
             yield WaitForSeconds(0.4);
         }
     }
     
     codhealth.ClimbEffect(1);
     //Rotate player 
     var rotTime = 0.0;
     var rotRate = 1.0/0.3;
     while (rotTime < 1.0) {
         rotTime += Time.deltaTime * rotRate;
         
         transform.rotation = Quaternion.Slerp(transform.rotation, endRot, rotTime);
         
         yield;
     }
     
     //Move player
     var exitPos : Vector3 = transform.position + (transform.forward * endPos.z) + (transform.up * endPos.y);
     var t = 0.0;
     var rate = 1.0/time;
     while (t < 1.0) {
         t += Time.deltaTime * rate;
         transform.position = Vector3.Lerp(sPos, exitPos, t);
         
         if(t > 0.1 && !once){
             once = true;
             if(adjust.y > 0.0 ){
                  
                 PlaySounds(vaultSound, transform.position, 0.8);
             }else{
                 
                 if(hitConfig){ 
                     codhealth.ClimbEffect(2);
                     PlaySounds(vaultSound, transform.position, 0.8);
                 }else{
                     codhealth.ClimbEffect(1);
                     PlaySounds(vaultSound2, transform.position, 1.0);
                 }
             }
         }
         yield;
     }
     once = false;
     climbing = false;
     controller.enabled = true;
     controller.moveDirection = Vector3.zero;
     controller.state = 1;
     
     //codhealth.ClimbEffect(0);
     
     yield WaitForSeconds(0.3);
     controller.state = 0;
     if(playerweapons.currentWeapon != 2){
         playerweapons.SelectWeapon(playerweapons.currentWeapon, 1);
     }
     legs.enabled = true;
     shadowLegs.enabled = true;
     wep.enabled = true;
 }
 
 
 function OnGUI(){
     if(!climbing && canClimb && controller.grounded){
         if(hitConfig){
             GUI.Label(Rect(Screen.width/2 - 161, Screen.height/2 + 201, 350, 100), "<color=black><size=24>Press</size> <b><size=30>Space</size></b> <size=24>to climb \n      over obstacle.</size></color>");
             GUI.Label(Rect(Screen.width/2 - 160, Screen.height/2 + 200, 350, 100), "<color=orange><size=24>Press</size> <b><size=30><color=green>Space</color></size></b> <size=24>to climb \n      over obstacle.</size></color>");
         }else{
             GUI.Label(Rect(Screen.width/2 - 161, Screen.height/2 + 201, 350, 100), "<color=black><size=24>Press</size> <b><size=30>Space</size></b> <size=24>to climb \n      on obstacle.</size></color>");
             GUI.Label(Rect(Screen.width/2 - 160, Screen.height/2 + 200, 350, 100), "<color=orange><size=24>Press</size> <b><size=30><color=green>Space</color></size></b> <size=24>to climb \n      on obstacle.</size></color>");
         }    
     }
 }
 
 function PlaySounds (clip : AudioClip, position : Vector3, volume : float) {
     var go = new GameObject ("One shot audio");
     go.transform.position = position;
     var source : AudioSource = go.AddComponent (AudioSource);
     source.clip = clip;
     source.volume = volume;
     //source.pitch = Random.Range(0.9,1.1);
     source.Play ();
     Destroy (go, clip.length);
     return source;
 }
 
               Thank you! :)
               Comment
              
 
               
              Your answer