2016-08-07 104 views
0

我有一個GameObject和一個Quad MeshFilter。默認情況下,它的尺寸爲1x1,我可以通過設置它的比例來更改它的大小,但是也會根據比例尺的變化調整它的所有子元素。我曾嘗試給它一個RectTransform,但改變寬度和高度似乎沒有改變它的大小。常規的Transform組件沒有寬度或高度控件。在Unity中設置網格的尺寸

如何在Unity中設置網格的大小而不縮放所有子元素?

+0

你要上傳的孩子的圖片,你不想來調整GameObjects?這將有助於想出一個解決方案... – Programmer

+0

什麼是你的子對象(那不需要從父變換)?你需要一些縮放和一些不? –

回答

0

Unity會將網格以及圖像和聲音視爲在應用程序之外創建的資產。當然,在Unity中,您可以移動3D模型,縮放和旋轉它們,但這些都是非常基本的3D建模功能,您將無法正確編輯其中的3D模型。就我個人而言,我認爲這僅僅適用於由比例立方體制成的粗糙原型。

所以,如果要修改這些資產,您可以:

  1. 打開一個單獨的應用程序(攪拌機時,3ds Max,Maya製作3D模型),並創建你想要一個網格。這可能是你想要的解決方案。

  2. 創建一個在運行時將更改Mesh object的腳本。雖然這是解決某些問題的好方法,但這可能不是您想要的。

  3. 使用爲Unity帶來3D建模功能的第三方軟件包之一,如ProBuilder。請注意,我沒有使用它,這不是一個建議 - 我只是表明,這種選擇存在。

0

需要calc下吧:)

  1. 從渲染器組件以當前邊界。這是你在場景中的真實物體尺寸。
  2. 計算預期範圍的新比例。

如實施例你有

actualBounds.x是100

規模在所有維度上爲1;

var expectedBoundX = 150 

var newScaleX = expectedBoundX/(actualBounds.x/scaleX); 

後剛剛成立這個newScaleX到X比例:)