Unity中的物體移動

2022-06-19 04:39:08 字數 1136 閱讀 7811

(1)

直接改變物體的位置。

例子:transform. position=transform. position+某一三維向量(vector3)

(2)public void translate(vector3 translation); 

物體在對應的座標系中,向引數的方向移動,每一幀移動引數大小 

引數:translation型別為三維向量,指定物體移動的方向和移動的距離,等同物體每一幀移動到物體當前位置+引數

public void translate(vector3 translation, space relativeto = space.self);

引數: relativeto型別為space,space. world使用世界座標系,space. self使用本地座標系。

public void translate(vector3 translation, transform relativeto);

相對於某一物體移動,也就說以某一物體的本地座標系移動

引數:relativeto型別為transform

(3)public static vector3 movetowards(vector3 current, vector3 target, float maxdistancedelta);

當前點移動到目標點,方向為目標點減去當前點,每一次物體移動maxdistancedelta。

引數:current當前值 target目標值

maxdistancedelta 每次移動的最大距離 

(4)public static vector3 lerp(vector3 a, vector3 b, float t);

引數為座標點,沒有方向。

將物體位置作為參a,目標點作為引數b,返回值給物體的位置。每一幀物體的位置改變,直到接近目標點

返回的值等於a+(b-a)* t。 當t = 0時返回a。 當t = 1時返回b。 當t = 0.5時,返回a和b之間的中間點。t在0到1。

(5)public void moveposition(vector3 position);

剛體移動到引數位置。如果剛體的iskinematic設定為false,則其作用類似於transform.position = newposition(而不是執行平滑過渡)。

Unity中物體的移動方式

關於unity中控制物體移動的方式,大致可以分為兩類 一類是利用transform來實現移動,一類是利用rigidbody來實現移動。這是我自己常用的兩類。1 transform控制物體移動的實現方式 transform.transla dir time.deltatime speed dir是要移...

Unity中物體移動指令碼

在unity3d中,有多種方式可以改變物體的座標,實現移動的目的,其本質是每幀修改物體的position,下面就給大家介紹下物體移動的幾種方法。通過transform元件移動物體transform 元件用於描述物體在空間中的狀態,它包括 位置 position 旋轉 rotation 和 縮放 sc...

Unity3D中物體的移動方式

在unity3d中,有多種方式可以改變物體的座標,實現移動的目的.總結來說,分為以下幾種,這裡對於這幾種方式分別做闡述.通過transform元件移動物體 transform 元件用於描述物體在空間中的狀態,它包括 位置 position 旋轉 rotation 縮放 scale 其實所有的移動都會...