three.js小地图和视角指示器
左上角有一个相机,可以用来显示地图或者当前场景的视角,一般用正交相机的多。 原理很简单就是创建两个相机,两个场景,然后把相机1的位置传给相机2。 在渲染的时候也需要渲染两次,关闭自动清除,第一次渲染整个场景,第二次再指定位置渲染一个小的区域。
视角指示器的核心代码如下:
renderer
.autoClear
= false;
renderer
.setViewport(0, 0, window
.innerWidth
, window
.innerHeight
)
renderer
.render(scene
, camera
);
cameraOrtho
.position
.copy(camera
.position
);
cameraOrtho
.updateProjectionMatrix();
cameraOrtho
.lookAt(scene
.position
);
renderer
.setViewport(0, 0, 200, 200)
renderer
.render(sceneOrtho
, cameraOrtho
);
是不是很简单。
小地图核心代码
如果小地图的场景和大场景是一样的,那就更简单了,直接一个场景两创建个相机就可以了。
没有核心代码,直接写。