- Home /
Question by
Rukey4 · Jun 02, 2015 at 05:20 PM ·
javascriptslerp
Door pivot using slerp issue
Hello,
I have a small video of a door I'm trying to rotate based on the angle I give it. I have some doors working fine (with -90) and others that spin and act strangely like this:
https://www.youtube.com/watch?v=Svcc8VSvDnU&feature=youtu.be
It only has an issue when I set the angle to -90 but no issues at positive 90. Might be some logic in the script which is the issue, any help would greatly be appreciated! Thanks.
#pragma strict
var smooth = 2.0;
var DoorOpenAngle = -90;
var open : boolean;
private var defaultRot : Vector3;
private var openRot : Vector3;
function Start()
{
defaultRot = transform.eulerAngles;
openRot = new Vector3 (defaultRot.x, defaultRot.y + DoorOpenAngle, defaultRot.z);
}
function Update ()
{
if(open)
{
//Open door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, openRot, Time.deltaTime * smooth);
}
else if(!open)
{
//Close door
transform.eulerAngles = Vector3.Slerp(transform.eulerAngles, defaultRot, Time.deltaTime * smooth);
}
}
Comment
Try this. Edit posX, posY, posZ for you. 0.2f is speed rotation.
transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(new Vector3(posX, posY, posZ)), 0.2f);
Your answer
Follow this Question
Related Questions
How to Lerp or Slerp Time.timeScale change 1 Answer
Can someone help me fix my Javascript for Flickering Light? 6 Answers
Getting an object to rotate back to zero after key is released 2 Answers
How to use Lerp? 3 Answers
Slerp, lerp or something else? 3 Answers