В третьеи строке я получаю текущую камеру. В четвертои строке строю матрицу вида. Функция matrix_build_lookat принимает девять параметров: позицию камеры, позицию цели камеры и направление оси, указывающеи вверх. Наш куб находится в начале координат, поэтому в качестве цели я указываю начало координат. В пятои строке создается матрица перспективы. Функция matrix_build_projection_perspective_fov принимает 4 параметра: угол обзора, соотношение сторон, расстояние до ближнего и дальнего сечении. По умолчанию GMS2 создает комнату с разрешением 1366x768, поэтому я указываю соответствующие значения для соотношения сторон. Параметры ближнего и дальнего отсечения задают диапазон глубины, в пределах которого пиксели будут отображаться на экране. В строках 7 и 8 полученные матрицы устанавливаются для текущеи камеры, а в девятои строке я активирую эти значения для текущего шага, иначе они вступят в силу только в следующем.
Внезапно годный контент. Хоть 3D не пларирую в GMS2, но вижу статью про шейдеры. Мне, как новичку, интересно будет почитать. И чел из индии с чалмой на голове рассказывал, как с помощью какого-то шейдера создать иллюзию 3D. Посмотрим, как я свяжу всю эту информацию воедино. Интересно понимать суть под капотом.
Короче, пиши ещё.
Посмею тогда предложить поглядеть на две моих старых статьи в схожем жанре
https://dtf.ru/indie/1049450-imitaciya-trehmernyh-zdanii-v-2d-igre-opyt-razrabotchikov-norland
https://dtf.ru/indie/1843566-graficheskie-effekty-v-chetyreh-stihiyah-opyt-razrabotchikov-norland
Спасибо. Такие комментарии помогают писать ещё.
А можешь показать как запрогать Z-Fight?
https://habr.com/ru/articles/434322/
с помощью функции plane_add описанной в этом гайде я создаю вершинный буфер состоящий из 2х находящихся рядом плоскостей. На скриншоте видно что разница расстояния между ними по Z равна 1. Дальше можно вращать камеру вокруг них и увидеть как они начинают пересекать друг друга в разных местах примерно как в прикреплённой выше гифке и чем больше будет расстоянии от камеры до этих плоскостей тем сильнее будет эффект.
Думаю с выходом GMRT люди напишут нормальные интрументы для работы с 3D, которые соответствуют современных стандартам, сейчас это конечно интересно с технической точки зрения, но не очень практично для разработки, даже если BBMOD использовать это все равно боль.