下面的代码来自我创建的用于测试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产生它? –