下面的代碼來自我創建的用於測試Unity功能的快速遊戲。當它檢測到與另一個對象的碰撞時,我有代碼創建一個貼花。在碰撞Unity3d時創建貼圖C#
問題是代碼創建面朝上的貼花(Y方向)。我已經嘗試了一些解決方案,但無法讓它旋轉以面對與它所撞擊的對象相同的方向。
示例:一個物體碰到面向玩家的牆,顯然我們希望貼花面臨玩家產卵。我的問題是,他們都臉朝上。
我看了一些老問題,發佈了類似的問題,但不能得到它的合作,所以任何幫助將是偉大的。
更新:也忘了提及,因爲「Splat」是一個預製和GameObject類型的平面。還爲上下文添加了問題的照片。
else
{
Debug.Log ("collision detected");
//Instantiate (splat, transform.position, Quaternion.Euler(collision.gameObject.transform.forward));
Instantiate (splat, transform.position, Quaternion.LookRotation(collision.gameObject.transform.forward, collision.gameObject.transform.transform.up));
//destroy gameObject, timer seconds
Destroy(this.gameObject);
}
在你的腳本中,我看到「splat」,我認爲這是你想要產生的'Prefab'。這是你作爲'Prefab'製作的'GameObject'還是它導入的3D模型(fbx,skp等等)? – Hristo
對不起,忘了提及,它是一個有顏色的預製飛機物體。飛機總是面朝上(如果想想2D,Y方向)。 – Phillipv20
難道這可能是因爲你正在用'collision.gameObject.transform.transform.up'的roation產生它? –