首页 >Unity3D频道 >【Unity3D研究院之游戏开发】 > Unity3D研究院之同步Scene与Game视图摄像机
2021
04-28

Unity3D研究院之同步Scene与Game视图摄像机

Game视图同步Scene视图比较容易,直接获取Scene的摄像机坐标和旋转然后同步给Camera就可以。但是我想做的是Game视图运行时修改摄像机的位置,Scene视图来同步。

SceneView.lastActiveSceneView.camera.transform.postion

Unity给的一个解决方案是SceneView.AlignViewToObject但是会有延迟,无法做到每帧同步,后来翻了一下C#部分的代码,算是完美解决了。

    private void Update()
    {
        Camera cameraMain = Camera.main;
        var sceneView = SceneView.lastActiveSceneView;
        if (sceneView != null)
        {
            sceneView.cameraSettings.nearClip = cameraMain.nearClipPlane;
            sceneView.cameraSettings.fieldOfView = cameraMain.fieldOfView;
            sceneView.pivot = cameraMain.transform.position +
                cameraMain.transform.forward * sceneView.cameraDistance;
            sceneView.rotation = cameraMain.transform.rotation;
        }
    }

这样就可以Game视图镜头变化实时同步到Scene视图中
WX20210428-204444@2x

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

留下一个回复

你的email不会被公开。 必填项已用 * 标注。