- Home /
 
               Question by 
               Vaulken · Feb 03, 2015 at 07:07 AM · 
                transform.positionfloat  
              
 
              Separating smoothDampTime into separate axis
The smoothDamp script delays the camera interpolation when following the player, however I want there to be no delay when jumping and moving forward/backward, how would I add that? I have tried scirpting cam transform.pos.y = follow transform.pos.y but I couldn't get it to compile. Halp?
CAMERA SCRIPT:
  using UnityEngine;
             using System.Collections;
             
             public class CC_CameraTwo : MonoBehaviour {
             
             
                 
                 public float distanceAway = 5f;
                 public float distanceUp = 1f;
             
             
                 private Transform follow;
                 private Vector3 cameraTargetPosition;
             
             
                 [SerializeField]
                 private Vector3 camSmoothVelocity = Vector3.zero;
                 [SerializeField]
                 private float camSmoothDampTime = 3f;
             
             
                 // Use this for initialization
                 void Start () 
                 { 
                     follow = GameObject.FindGameObjectWithTag ("Follow").transform; 
                 }
             
                 
                 void LateUpdate ()     
                 {
                     // ** Camera distance from Player **
                     cameraTargetPosition = follow.position + Vector3.up * distanceUp - follow.forward * distanceAway;
             
                     // Camera smoothing 
                     smoothCam (this.transform.position, cameraTargetPosition);
                     transform.LookAt (follow);
                 }
             
             
                 // A private section to calculate the smoothCam variable
                 private void smoothCam (Vector3 fromPos, Vector3 toPos)
             
                 {
                     // ** Camera position transition Smoothing **
                     
                     this.transform.position = Vector3.SmoothDamp (fromPos, toPos, ref camSmoothVelocity, camSmoothDampTime);
                 
                 }
                     
             }
 
CharacterController script for reference:
 using UnityEngine;
 using System.Collections;
 
 public class CC_Logic : MonoBehaviour 
 
 {
     
     [SerializeField]
     private CharacterController controller;
 
 
     public float smooth = 3f;
     public float deadzone = 0.25f;
     public float turnSpeed = 800.0f;
     public float jumpForce = 3.0f;
     public float gravity = 10.0f;
     public float speed = 3.0f;
     public bool jump = false;
     
 
     private Vector3 moveDir = Vector3.zero;
     private float lockRotation = 0.0f;
 
     
     void Start ()
 
     {
         controller = GetComponent<CharacterController>();
     }
 
 
     void Update() 
     
     {
 
         // Is the controller on the ground?
         if (controller.isGrounded) 
 
         {
             jump = false;
 
 
             // Assigning Translation Controls
             moveDir = new Vector3(Input.GetAxis("Horizontal") , 0, Input.GetAxis("Vertical"));
 
 
             // Align forward vector of movement and camera. Turn it off when a camera isn't assigned. 
             moveDir = Camera.main.transform.rotation * moveDir;
 
 
             // Rotation parameters
             if(moveDir.sqrMagnitude > deadzone) 
             { transform.rotation = Quaternion.LookRotation(moveDir); }
 
 
             //Jump
             do if (Input.GetButtonDown("Jump"))
             {
                 moveDir.y = jumpForce;
                 jump = true;
             }
             while (jump = false);
 
         }
 
             // Applying gravity variable to the character controller when jumping
                moveDir.y -= gravity * Time.deltaTime;
 
             // Applying move direction to the character controller
                controller.Move(moveDir * speed * Time.deltaTime);
 
     }
 
     void LateUpdate()
     
     {
         // Lock rotations x and z to stop tilting. 
         controller.transform.rotation = Quaternion.Euler(lockRotation, transform.rotation.eulerAngles.y, lockRotation);
     }
 
 }
               Comment
              
 
               
              Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                