在Unity C#中,如何使球员(滚动球)在与较低平面碰撞时到达起点?
我有一个在飞机上滚动的球,飞机上有一个洞。我在原平面下面放了一个较低的平面。我想设置它,使球员“球”将回到起点,如果它击中较低的平面在Unity C#中,如何使球员(滚动球)在与较低平面碰撞时到达起点?,c#,unity3d,C#,Unity3d,我有一个在飞机上滚动的球,飞机上有一个洞。我在原平面下面放了一个较低的平面。我想设置它,使球员“球”将回到起点,如果它击中较低的平面 我是新来的。我正在考虑使用碰撞方法,或者在碰撞或其他情况下触发,但我不知道如何进行。有什么建议吗 我想出了一个办法。我这样做是为了,如果球的垂直位置低于运动场,它会将游戏对象设置回起始位置,我可以将其设置为球员在第一帧上的位置。您可以存储“起始位置”作为Vector3并使用Unity的OnCollisionCenter方法将球的位置设置为该位置(如果球与下平面碰撞
我是新来的。我正在考虑使用碰撞方法,或者在碰撞或其他情况下触发,但我不知道如何进行。有什么建议吗 我想出了一个办法。我这样做是为了,如果球的垂直位置低于运动场,它会将游戏对象设置回起始位置,我可以将其设置为球员在第一帧上的位置。您可以存储“起始位置”作为
Vector3
并使用Unity的OnCollisionCenter
方法将球的位置设置为该位置(如果球与下平面碰撞)
// The position of the ball will be stored here.
public Vector3 ballPosition;
// Where the ball should start/go back to if it falls.
public Vector3 startPosition;
void Start() {
ballPosition = ball.tranform.position; // Assign the ball position here.
startPosition = new Vector3(x, y, z); // Replace x, y, z with your start co-ordinates.
}
// If the ball collides with the lower plane, position it at the Start Position.
void OnCollisionEnter(Collision collision) {
ballPosition = startPosition;
}
将此代码放入脚本中,并将其放入下平面。然后,当任何物体与该平面碰撞时,球将被传送到起始位置。如果我记得很清楚,本教程有一个部分,当您从路径上跌落时,您将在开始时重新开始,可以b您应该在添加新功能之前阅读整个教程吗?欢迎使用StackOverflow!请拿着这本书读一读。然后返回并相应地编辑您的问题。