Skip to content

[Unity] 取得、修改遊戲物件的尺寸(scale)

在 Unity 當中,若是我們需要修改一個遊戲物件的尺寸,除了在遊戲編輯器中手動進行修改外,也可以透過程式來取得遊戲物件的尺寸、進而賦予新值來更改遊戲物件的大小。


取得遊戲物件的尺寸

// Gets the local scale of a game object
vector3 objectScale = transform.localScale;



transform.localScale 會回傳附加此腳本的遊戲物件的尺寸,是一個 Vector3 資料型態儲存的資料。若是要在腳本中取得其他物件的尺寸,則需要使用:

// Gets the local scale of a game object
vector3 objectScale = OTHER_GAMEOBJECT.gameObject.transform.localScale;




更改遊戲物件的尺寸

由於 transform.localScale 並非唯讀(read-only)屬性,所以我們也可以進行附值。以下是一個將原有尺寸全部縮放成兩倍的程式碼。當然,你可以客製化自己想要的尺寸大小。

// Gets the local scale of game object
vector3 objectScale = transform.localScale;


// Sets the local scale of game object
transform.localScale = new Vector3(objectScale.x*2,  objectScale.y*2, objectScale.z*2);




References


Read More

Tags:

Leave a Reply