【问题标题】:How to zoom an slide the the screen in Unity?如何在 Unity 中缩放屏幕幻灯片?
【发布时间】:2018-03-11 00:07:58
【问题描述】:

在我的 2D Unity 项目中,我必须在主摄像头中使用缩放脚本。然而,变焦有效,相机只聚焦在场景的中间。但是我想看到场景中仍然在相机视野之外的其他部分。那么,我应该在我的脚本中添加什么以便在场景缩放时移动它?

这是我的缩放脚本。我把它扔进了主摄像头。

这张图是放大前的实际场景:

这是放大后的。请注意,它直接聚焦于场景的几何中心,不允许我移动到场景上的另一个点(右、左、上、下)。

【问题讨论】:

  • 很简单,你必须移动相机。这个动作取决于你对它的期望。您可以通过Input.mousePosition 访问鼠标位置并将其除以screen size 以获得0 到1 的值。例如,如果y axis 超过 0.5,则意味着您必须将相机向右移动,依此类推。

标签: unity3d zooming


【解决方案1】:

我不知道您是想在缩放时拖动还是使用鼠标位置作为缩放的中心点。

如果是后者,你可以这样做;

float zoomSpeed = 5f;

void Update()
{
    if (Input.GetAxis("Mouse ScrollWheel") != 0)
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit point; Physics.Raycast(ray, out point, 25); Vector3 Scrolldirection = ray.GetPoint(5);

        float step = zoomSpeed * Time.deltaTime;
        mycamera.transform.position = Vector3.MoveTowards(transform.position, Scrolldirection, Input.GetAxis("Mouse ScrollWheel") * step);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    相关资源
    最近更新 更多