Я пытаюсь отобразить только кусочек моего 3D-объекта. В орфографической камере я хочу, чтобы camera.near как 2.0 и camera.far равнялся 1.5, затем повторите и дайте camera.near = 1.5 и camera.far = 1.0. И так далее. Но это не работает. Когда я передаю меньшее значение (2) на camera.near и большее значение (10) на camera.far, это вроде работает. Но я хочу только наоборот. Я думал, что ось Z выходит наружу с экрана.Является ли положительная ось Z идущей внутрь в три раза? Camera.near и camera.far ведут себя смешно
Является ли положительная ось Z идущей внутрь в три раза? Camera.near и camera.far ведут себя смешно
ответ
Ось Z в Three.js позитивна, «выходит».
ОДНАКО: причина вещей может показаться смешно, что, когда вы настраиваете вид матрицы, вы на самом деле указать рядом/далеко самолеты, как расстояние от зрителя. Это из OpenGL spec:
Параметры
nearVal, farVal
Укажите расстояния до ближе и дальше глубин секущих плоскостей. Эти значения отрицательны, если плоскость должна быть за зрителем.
FYI, когда вы используете перспективную матрицу, оба значения всегда положительны.
Если мне нужно перейти от z = 2 к -2, тогда должно быть так. для (var i = minMax.zMax; i> minMax.zMin; i = i-voxelDepth) { \t camera.near = i; \t camera.far = i + voxelDepth; \t \t \t \t camera.updateProjectionMatrix(); \t renderer.render (сцена, камера); } – spuemaacne
См. Http://stackoverflow.com/questions/17558085/three-js-orthographic-camera/17567292#17567292 – WestLangley
@WestLangley поэтому camera.near и camera.far должны быть положительными. Но как мы должны передавать значения, если z от 2 до -2? camera.near должно быть 2, и должна ли камера быть 2 + глубина? И предположим, что мне нужно отрезать от z = 0 до z = -2, тогда camera.near будет 0, а camera.far будет 0 + глубина? (мое значение глубины будет примерно как 0,5) – spuemaacne
Чтобы не видеть объекты за камерой, 'ближний' и' дальний' должны быть положительными. Всегда, 'рядом
WestLangley