- Home /
Idle camera bob script?
I want to know how to make my camera bob not only when my character moves, but also when it is idle. So, when I move, it executes the camera bob script I already have scripted, and when I am not moving, it rotates the camera just a bit.
The camera bobbing script I already have is this:
private var timer = 0.0;
var bobbingSpeed = 0.18;
var bobbingAmount = 0.2;
var midpoint = 2.0;
function Update () {
waveslice = 0.0;
horizontal = Input.GetAxis("Horizontal");
vertical = Input.GetAxis("Vertical");
if (Mathf.Abs(horizontal) == 0 && Mathf.Abs(vertical) == 0) {
timer = 0.0;
}
else {
waveslice = Mathf.Sin(timer);
timer = timer + bobbingSpeed;
if (timer > Mathf.PI * 2) {
timer = timer - (Mathf.PI * 2);
}
}
if (waveslice != 0) {
translateChange = waveslice * bobbingAmount;
totalAxes = Mathf.Abs(horizontal) + Mathf.Abs(vertical);
totalAxes = Mathf.Clamp (totalAxes, 0.0, 1.0);
translateChange = totalAxes * translateChange;
transform.localPosition.y = midpoint + translateChange;
}
else {
transform.localPosition.y = midpoint;
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220613095014im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Editing camera bob script ? 1 Answer
Sample Assets FP bobbing 0 Answers
Camera Bobbing and Stairs 4 Answers
How to give a timing to my script? 1 Answer
How to make camera position relative to a specific target. 1 Answer