Question by
remembadaname · Jan 12, 2017 at 10:44 PM ·
mathfsmoothdamp
Can anyone help me smooth the lean of my character using mathf.smoothdamp or vector3.smoothdamp or any other method?
I can not get the motion to smooth at all. Here is my code...
using System.Collections; using System.Collections.Generic; using UnityEngine; using RootMotion.FinalIK;
public class Peek : MonoBehaviour { private GameObject peekCover; Vector3 tempPos; public Transform target; public AimIK aim; //public float smoothTime = 0.3f; //private Vector3 velocity = Vector3.zero;
// Use this for initialization
void Start ()
{
GameObject peekCover = GameObject.Find ("Dummy Humanoid");
tempPos = peekCover.GetComponent<AimIK> ().solver.poleAxis;
}
// Update is called once per frame
void LateUpdate ()
{
leanLeft ();
leanRight ();
}
void leanLeft()
{
if (Input.GetButtonDown ("Q"))
{
Debug.Log ("Q key was pressed.");
//tempPos = target.position;
//tempPos.x = -1;
//target.position = tempPos;
//target.position = Vector3.SmoothDamp(target.position, tempPos, ref velocity, smoothTime);
aim.solver.poleAxis.x = 1;
aim.solver.Update ();
}
else if (Input.GetButtonUp ("Q"))
{
//tempPos = target.position;
//tempPos.x = 0;
//target.position = tempPos;
//target.position = Vector3.SmoothDamp(target.position, tempPos, ref velocity, smoothTime);
aim.solver.poleAxis.x = 0;
aim.solver.Update ();
}
}
void leanRight()
{
if (Input.GetButtonDown ("E"))
{
Debug.Log ("E key was pressed.");
//tempPos = target.position;
//tempPos.x = 1;
//target.position = tempPos;
//target.position = Vector3.SmoothDamp(target.position, tempPos, ref velocity, smoothTime);
aim.solver.poleAxis.x = -1;
aim.solver.Update ();
}
else if(Input.GetButtonUp ("E"))
{
//tempPos = target.position;
//tempPos.x = 0;
//target.position = tempPos;
//target.position = Vector3.SmoothDamp(target.position, tempPos, ref velocity, smoothTime);
aim.solver.poleAxis.x = 0;
aim.solver.Update ();
}
}
}
Comment
Your answer
Follow this Question
Related Questions
Formula behind SmoothDamp 4 Answers
Simple Advice needed - Lerp, SmoothDamp, SmoothStep...... etc. 2 Answers
Accelerate float rather than decelerate with Mathf.SmoothDamp 0 Answers
Move an object in a circular path according to touch position 1 Answer
Raycast max Distance is always low and infinity not working [ Solved ] 0 Answers