У меня есть фон webdevelopers, и теперь я создаю простой 2D-скроллер с тремя .js. Несмотря на то, что я делаю 2D-игру, я нарисую ее в 3D-пространстве, чтобы сделать простое преобразование в 3D, когда время кажется мне правильным. Почему я выбрал Three.js? Ну, это JavaScript, и поскольку мне нравится создавать для Интернета и изучать новые технологии, было бы интересно сделать это на языке, который я уже знаю.Способы мышления с 3D-пространством
Но теперь к моей проблеме. Это не совсем техническая проблема, но поскольку я новичок в 3D-пространстве, это скорее способ мышления. Я привык думать в пиксельных или процентных (относительных) размерах при работе с сетью, и это всегда 2 оси (X/Y), а точнее ширина/высота. Но 3D-пространство, камера и перспективы дают мне головную боль, поскольку я не привык к этому.
Как я могу думать о размерах в трехмерном пространстве? Камера имеет поле зрения 45 градусов на холсте 800х600. Фрукт - 1 (около) и 1000 (далеко). Означает ли это, что если объект близок (1) и имеет размер 800x600, он фактически заполнит холст?
Ну, как вы можете видеть, я новичок в этом и способ мышления в 3D-пространстве, и это новый дерн для меня.
Хорошая отправная точка, вероятно, пытается понять [Декартовое координатное пространство] (https://en.wikipedia.org/wiki/Cartesian_coordinate_system) (также упрощена: http://opengl.czweb.org/ch02/023 -026.html) и векторов. Вы определяете объекты, используя векторы. Они затем * проецируются *, используя x/y/z в 2D-плоскость. Ваша глубина - ось z. – K3N