gpt4 book ai didi

unity-game-engine - 使刚体从屏幕边缘反弹

转载 作者:行者123 更新时间:2023-12-02 21:14:54 31 4
gpt4 key购买 nike

我目前正在研究一个涉及气泡状运动的物体。该对象有一个刚体和一个球体碰撞器。

我每 1-3 秒使用一次 AddForce 方法,让它连续缓慢地移动。

现在我想知道当刚体到达屏幕边缘时如何使刚体向相反方向移动(也称为反弹)。我已经使用 ViewportToWorldPoint 方法计算了屏幕边缘。

我想到的一个无效的解决方案是在边缘放置带有碰撞器的空游戏对象,但这在我的情况下不起作用,因为我正在为具有不同屏幕分辨率/尺寸的移动设备进行构建。

有人知道这个问题的好解决方案吗?

最佳答案

我不确定我是否明白了。但我想我在编写旧手机游戏时也遇到了同样的问题。

我和你有同样的想法,使用边缘带有盒子碰撞器的空游戏对象,但后来我想,这没有响应,所以我编写了以下代码:

public class Walls_c : MonoBehaviour {

public Transform righttop;
public Transform rightbottom;
public Transform lefttop;
public Transform leftbottom;

// Use this for initialization
void Start () {
righttop.transform.position = Camera.main.ViewportToWorldPoint(new Vector3(1,1,0));
rightbottom.transform.position = Camera.main.ViewportToWorldPoint(new Vector3(1,0,0));
lefttop.transform.position = Camera.main.ViewportToWorldPoint(new Vector3(0,1,0));
leftbottom.transform.position = Camera.main.ViewportToWorldPoint(new Vector3(0,0,0));
}
}

有了这个,我总是能看到屏幕的角落。这并不花哨……但它确实有效。

如果有效的话,现在就告诉我。

关于unity-game-engine - 使刚体从屏幕边缘反弹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31374643/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com