- Home /
object rotating around parent
i have this to make my tyres move
tyre1.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre2.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre3.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre4.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
not the whole script^^
the tyres rotate around the parent race car instead of rotating normally how do i make them rotate normally?
Answer by syclamoth · Nov 18, 2011 at 07:02 AM
You need to make sure that the tyres' pivot points are in the right locations! From the sounds of things, each tyre's pivot point is the centre of the car, not the centre of the wheel. Make sure you have your handles set to 'pivot' not 'centre'- and if you can't change the models to be right, try adding intermediate empty game objects which have the correct pivot point, between the car and the wheels on the transform hierarchy.
wait actually they are rotating around the center of the 4 tyres
Well, then I can't explain it. It should definitely be working the way you want it, unless there's something you haven't told me.
heres the whole script
var movespeed = 0;
var turn = 0;
var maxspeed = 16;
var $$anonymous$$speed = -8;
var breakspeed = 0.2;
var tyre1 : GameObject;
var tyre2 : GameObject;
var tyre3 : GameObject;
var tyre4 : GameObject;
function Update () {
transform.Translate(Vector3.left * Time.deltaTime * movespeed);
transform.Rotate(Vector3.up * Time.deltaTime * turn);
tyre1.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre2.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre3.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
tyre4.transform.Rotate(Vector3.forward * Time.deltaTime * movespeed * 5);
if (Input.Get$$anonymous$$ey("space")){
movespeed -= breakspeed;
}
if (Input.Get$$anonymous$$ey("a")){
turn -= 10;
}
if(Input.Get$$anonymous$$ey("d")){
turn += 10;
}
if (Input.Get$$anonymous$$ey("w")){
movespeed += 1;
}
if (Input.Get$$anonymous$$ey("s")){
movespeed -= 1;
}
if (movespeed >= maxspeed){
movespeed = maxspeed;
}
if (movespeed <= $$anonymous$$speed){
movespeed = $$anonymous$$speed;
}
if (turn >= 0){
turn -= 5;
}
if (turn <= 0){
turn += 5;
}
if (turn >= 135){
turn = 135;
}
if (turn <= -135){
turn = -135;
}
if (movespeed <= 0){
breakspeed = -0.02;
}
if(movespeed >= 0){
breakspeed = 0.02;
}
}
Your answer
Follow this Question
Related Questions
how to make an object "the target" when you click on it 3 Answers
object rotates when moving backward 1 Answer
script for object to rotate around and come back 1 Answer
function error 1 Answer
manabar doesnt work 1 Answer