2016-08-07 32 views
-3

enter image description here2d門戶傳送問題

請參閱附件圖像。有3個街區,每個街區都有一個入口,入口是黑色的孩子,現在有紅色的球,所以球會擊中門戶,球會從另外兩個入口出來,我想要一個球形的正確位置它出來的門戶。例如當球擊中門戶時,球應該從同一擊中點出現另一個門戶。

感謝

+4

聽起來很有趣。你有問題嗎? – JJJ

+0

嗨,謝謝,是的,我想在球形成另一個門戶時正確定位球。 – SmartPro123

+0

沒有人阻止你這樣做;)你到目前爲止嘗試過什麼,以及你的方法出了什麼問題? – TheDjentleman

回答

0

你不採取旋轉的門戶網站的照顧,這就是爲什麼它不是工作。

假設transform.right指向了門戶網站的每個入口,Vector.forward垂直於你的2D平面和球從portal1要portal2,你可以像這樣:
1.計算矢量Vector3 v = ballhitPoint - portal1.transform.position
2.確定portal1和portal2之間的指令轉速:相同的量vNew = Quaternion.AngleAxis(r, Vector3.forward)
4.設置球的位置float r = (Mathf.Atan2(portal2.forward.y, portal2.forward.x) - Mathf.Atan2(portal1.forward.y, portal1.forward.x)) * 180/Mathf.PI
3.旋轉v redball.transform.position = portal2.transform.position + vNew

總之要實現(如果我明白了什麼喲你的問題正確):你在一個門戶上有一個生命值,並且想要把這個生命值投射到目標門戶。

我還沒有測試過這個代碼,我也不知道你在2D遊戲中如何使用3D矢量,所以你可能不得不改變一些計算來適合你的座標軸。有關我使用的功能的更多信息,我想引用統一文檔。