.setViewOffset ( fullWidth : Float, fullHeight : Float, x : Float, y : Float, width : Float, height : Float ) : null
fullWidth - полная ширина установки нескольких оконfullHeight - полная высота установки мультивьюх - горизонтальное смещение подкамерыу - вертикальное смещение подкамерыширина - ширина подкамерывысота - высота подкамеры
Устанавливает смещение в большем усечении. ** Это полезно для установок с несколькими окнами или с несколькими мониторами / с несколькими машинами.
Например, если у вас есть мониторы 3x2, и каждый монитор имеет разрешение 1920x1080, а мониторы расположены в виде сетки:
+---+---+---+
| A | B | C |
+---+---+---+
| D | E | F |
+---+---+---+
тогда для каждого монитора вы бы назвали его так:
var w = 1920;
var h = 1080;
var fullWidth = w * 3;
var fullHeight = h * 2;
// A
camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 0, w, h );
// B
camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 0, w, h );
// C
camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 0, w, h );
// D
camera.setViewOffset( fullWidth, fullHeight, w * 0, h * 1, w, h );
// E
camera.setViewOffset( fullWidth, fullHeight, w * 1, h * 1, w, h );
// F
camera.setViewOffset( fullWidth, fullHeight, w * 2, h * 1, w, h );
Обратите внимание, что нет причин, по которым мониторы должны быть одинакового размера или в сетке.
Что касается разных окон браузера, вам нужно найти способ, чтобы они могли общаться друг с другом. Если вся анимация основана на времени, то вам просто нужно синхронизировать время (или использовать системные часы, как в time = Date.now()
), чтобы синхронизировать вещи. в противном случае вы можете передавать сообщения через окна, используя postMessage.