0

我想知道如何在 C# 中设置相对于屏幕的游戏对象速度?例如,如果游戏对象从屏幕上掉下来,即使世界已经移动,它仍然会掉到屏幕上。 在此处输入图像描述

4

1 回答 1

2

解决方案1(简单的方法)

您可以将对象设置为相机的子对象 - 这样相机的移动将影响对象的移动,因此您应该达到您想要的效果。

解决方案 2

const float Velocity = 1.0f;
const float DistanceFromCamera = 1.0f;

Vector3 ScreenCoords = new Vector3(0.0f, 0.0f, 0.0f);  

void Update()
{        
    ScreenCoords.x += velocity * Time.deltaTime;
    Vector3 worldCoords = camera.ScreenToWorldPoint(ScreenCoords);
    worldCoords.z = DistanceFromCamera;

    target.position = worldCoords;
}

这将执行以下操作:

于 2018-08-23T21:12:36.293 回答