I’m very tired so this might be an obvious one but…
This code moves the prefab forward globally, i.e. not taking it’s local rotation into account
var prefab : Transform;
private var ob : Transform;
function Start () {
ob = Instantiate(prefab,this.transform.position, Quaternion.identity);
}
function Update ()
{
var ranRot : Vector3 = Vector3(Random.Range(0.0,359.0),Random.Range(0.0,359.0),Random.Range(0.0,359.0));
ob.Rotate(ranRot);
ob.localPosition += transform.forward * 2;
}
whereas when not referencing a prefab the movement is as expected
var ranRot : Vector3 = Vector3(Random.Range(0.0,359.0),Random.Range(0.0,359.0),Random.Range(0.0,359.0));
this.transform.Rotate(ranRot);
this.transform.localPosition += transform.forward * 2;
using 5.2.0f3
I must be making a stupid mistake… Any ideas?