2016-07-12 30 views
0

我用c#腳本創建了一個50x50平面。我使用了頂點,UV和三角形。那些飛機制造一個區域。所以沒有問題。但是我的Plane_0_0是第一個定位在中心的。我需要每個飛機樞軸向左下方。我如何使用腳本左下角左轉?Unity5平面支點創建

+0

舉幾個屏幕請,我不能確定你是什麼到底要 –

+0

http://hizliresim.com/gog7pZ 我不需要設置支點中心左下 –

回答

0

好吧,我想我已經明白了。你希望左下角的「瓷磚」成爲整個「瓷磚」/「地圖」的中心,所以如果和當你旋轉「一切」時,這應該是中心。
好的,很簡單。你需要做的是,使Plane_0_0平鋪其餘瓷磚的父項(將所有瓷磚的.Parent屬性設置爲你想成爲「透視瓷磚」GO的一部分)。

稍後,您可以更改此設置。所以如果例如其他一些瓷磚應該是樞軸中心,您可以「重置育兒」。但重新裝修是一個昂貴的例程。


編輯
正如(像我上面寫的)重排根是一個昂貴的操作,我在想的替代品,這是我發現我會用:創建GameObject(比方說,另一架飛機),而網格渲染器,對撞機,並將其拉出到字段的大小(在編輯器中)。使其成爲場景中所有拼貼的父項。然後,無論何時您需要「旋轉」所有內容,您可以前往父母飛機的RotateAround,標記您希望的任何旋轉中心(例如,在「左上角」區域的「上方」)。
我還要修改標準統一Plane,並從中取出Mesh Collider並用一個簡單的Box Collider取代它,保存爲預製和使用預製我的瓷磚,以節省一些計算時間(如果飛機的工作是沒有別的而是服務作爲高原)。

+0

我沒有父我的WorldController這是一個空的gameobject(實際上只有腳本)。和WorldController gameobject在(0,0,0) 當我改變(-0.5,0,-0.5)它會好,但如果我改變全屏播放其再次移動。 –

+0

是的,因爲所有的孩子都和父母一起移動和旋轉,並且他們圍繞父母的中心(或RotateAround點)做這件事 –

+0

仍然沒有工作:/我在做什麼錯誤。我可以直接進行左右轉換嗎? –

0

你的問題有點不清楚。但是根據我的理解,你試圖讓你的飛機旋轉。對於這一點,你可以使用歐拉角:

gameObj.transform.eulerAngles = new Vector3(
    gameObj.transform.eulerAngles.x, 
    gameObj.transform.eulerAngles.y, 
    gameObj.transform.eulerAngles.z 
); //Find the axis on which you want to rotate, and apply a value to it, for example : 
    //gameObj.transform.eulerAngles.y + 150 

哪裏gameObj是你的飛機對象,當然。

+0

如果樞軸左下角,你的意思是你的飛機應該面向屏幕的左下角,是的,它可以工作:)面對左下方的軸和角應該是transform.eulerAngles.y + 225,但不確定。嘗試改變值和受影響的軸,直到你得到你需要的東西:) – YumeYume

+0

謝謝你的答案。但我不需要飛機旋轉。只需使用腳本創建一些支點。這是我的問題。 http://hizliresim.com/gog7pZ –