Сообщение от MoKa
Я не вижу как это решит проблему с относительностью шума на полюсах границе долготы где две стороны будут смешиваться.
Ведь шум - он не с балды берёться, а в зависимости от X и Y, можно конечно внести и Z, но это 3D шум, что совсем другого типа шум, и он да будет работать. А простая 2D карта шума, всё равно не спроецируется на сферу.
Ты предлагаешь иметь 2Д шум на локальные участки? Это может и сработать, только я тебе снова дам задачку - 2Д карта, обычно квадратная, а покрыть ровнымы квадратами всю планету - невозможно, следственно как ты разобьёшь сферу на квадраты?
Прямоугольных? Это снова не решает проблемы описанной выше с углами и относительности игрового пространства на плоскости в близких масштабах.
|
Нет же. 3д шум дает для каждой точки пространства какое то свое значение. Зачем читать какуюто одну плоскость и затем деформировать ее к сфере если можно сразу считать шум лежащий на поверхности сферы.
Не разбивать сферу. Вот когда она целиком влазит в экран то она сфера. А когда не влазит, то берем и делаем плоскость перпендикулярную вектору от центра планеты к камере. Размещаем эту плоскость на расстоянии радиуса от центра планеты. Дальше есть у нас координаты каждой вершины, соответственно и есть вектор от центра до вершины плоскости, и если этот вектор нормализовать, а потом умножить на радиус, то эта плоскость замечательно обернется вокруг сферы. Затем вот эти новые координаты точек лежат на той поверхности внутри 3дшума с которого можно читать нужные смещения для точек этой уже выгнутой по сфере поверхности. нет никакого разбиения.