C# transform.Translate()的用途是什么?

C# transform.Translate()的用途是什么?,c#,unity3d,C#,Unity3d,这两者的区别是什么 transform.Translate(offset); 及 该方法正在进行的背景中是否有任何平滑或内容,或者只是 public void Translate(Vector3 distance) { this.position += distance; } 在局部空间中按偏移量移动。换句话说,它考虑了变换的旋转 transform.position+=offset在世界空间中移动offset。换句话说,它不考虑变换的旋转 否则,它们是相同的。您可以将transfo

这两者的区别是什么

transform.Translate(offset);

该方法正在进行的背景中是否有任何平滑或内容,或者只是

public void Translate(Vector3 distance)
{
    this.position += distance;
}
在局部空间中按偏移量移动。换句话说,它考虑了变换的旋转

transform.position+=offset
在世界空间中移动
offset
。换句话说,它不考虑变换的旋转

否则,它们是相同的。您可以将
transform.Translate
想象为:

public void Translate(Vector3 offset)
{
    this.position += this.TransformDirection(offset);
}
有关更多信息,请参阅

transform.Translate(offset,Space.World)
transform.position+=offset

public void Translate(Vector3 offset)
{
    this.position += this.TransformDirection(offset);
}