Unity3D - 如何将对象从屏幕的一侧传送/推送到另一侧?

时间:2018-05-21 01:25:20

标签: c# unity3d

我是Unity的新手,我对如何做到这一点感到有些困惑。我有一个棒的模型,相机将沿着Y轴无休止地上下移动,并沿X轴静止。我想要完成的是:当模型通过摄像机视图的右侧时,它将出现在左侧。当它通过左侧时,我会做同样的事情。这是一幅非常粗略的图像,描绘了我想要实现的目标

enter image description here

我只需要模型传送的帮助,而不是跟随模型的相机。

2 个答案:

答案 0 :(得分:1)

您可以做的是,一旦模型开始退出屏幕,在另一侧生成另一个实例并传输统计数据。现在,当一个人移动时,另一个移动,它会产生被缠绕的错觉。

当其中一个退出屏幕时,它就会被摧毁。

如果经常创建多个实例的代价很高,那么您只能使用两个实例,并根据它在屏幕上的位置禁用/重新启用。

答案 1 :(得分:0)

这是我的解决方案(感谢AustinWBryan)

    if (IsOutOfBounds(active))
    {
        inactive.position = new Vector3(0,0,0);
        inactive.rotation = active.rotation;
        inactiveRB.velocity = new Vector3(0,0,0);
        inactiveRB.angularVelocity = activeRB.angularVelocity;
        activeSword.SetActive(false);
        inactiveSword.SetActive(true);
    }