|
|
|
Канал Игры Мечты: «Занудство: Генерация координат объектов в 3D» |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Приветствую!
Хочу создавать относительно просто астероидные поля в х2. Есть парсер - можно сформировать список координат вне игры, а потом создать в игре по этим данным все объекты. То, что пришло в голову - создать шум из объектов-точек в трехмерном пространстве и срезать шарообразной или другой кистью определенные части. Чем удобно это можно сделать и как экспортировать результат в текстовый вид - пока думаю.
В каком именно виде текст координат - не важно, преобразовать не проблема.
Грубо говоря хочется что-то типа визуального программирования (задать минимальную дистанцию между объектами и т.п.) с возможностью графического редактора.
Прошу прощения если это не для ксо, но задача довольно общая, не смог отнести к какому-то конкретному разделу.
Последний раз редактировалось: Non (22:52 19-02-2015), всего редактировалось 1 раз |
|
|
Xenon J
1007 EGP
       Репутация: 160 Сообщения: 3390 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007
 |
|
А зачем эти пляски с бубном вокруг по переменной кривой? Создавай скриптредактором астероиды в секторе напрямую, с нужными параметрами и количеством.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Оно то да. Я делал на основе х^2 и прочих простых считалок со случайными отклонениями и интервалами. Но если астеров вагон, то как-то причесывать становится сложнее. Либо тогда надо найти что-то, что опишет мне простой математикой более-менее сложные фигуры, которые я нарисую. Хочется сделать то, что в голове, а не перебирать простые считалки и комбинировать их, чтобы получить что-то и думать, нравится оно или нет. И sce долго создает/удаляет результат если астеров вагон.
|
|
|
XArgon
1425 EGP
        Рейтинг канала: 4(67) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Вспоминается, делал я давным-давно для X2 скрипт, который периодически генерировал в секторе "метеоритный дождь", из рандомно расположенных астероидов, перемещающихся вдоль оси Z.
А идея интересная - согласен с Ксеноном, в самом скрипт-редакторе все математические расчёты можно сделать. Со срезанием кистью - можно вообще создать временный объект в игре, программно его перемещать по шагам и замерять расстояние до каждого астероида, удалять те которые в пределах заданного расстоянии оказываются.
Вроде так. Ещё идеи?
PS: Не помню - можно ли в скрипт-редакторе в игре создать пустой объект? Т.е. чтобы ресурсы сильно не жрал, но инструментарий с измерением расстояния - работал. Ну а если нет - можно тогда без объектов, просто по массивам координаты считать... опять же - отдельной переменной координаты "кисти", а расстояние до остальных точек замерять просто написанным "вручную" тригонометрическим расчётом... а по завершении на основе полученного массива уже создать астероиды.
Последний раз редактировалось: XArgon (21:53 19-02-2015), всего редактировалось 2 раз(а) |
|
|
AlexYar
1916 EGP
               Рейтинг канала: 3(46) Репутация: 325 Сообщения: 32758
Зарегистрирован: 26.10.2003
 |
|
Какая конечная цель? Чисто визуальная или практическая/производственная?
Первое делать традиционным иксовым методом - полная утопия (оптимальный вариант - сделать по-фриловски).
Во втором случае во избежание жуткого читерства с околобесконечными ресурсами "из воздуха" придётся кратно кол-ву астеров снижать содержание ресурса в каждом из них, что превратит добычу руды в жуткий геморрой. Тут тоже фриловский метод был бы наиболее оптимальным (не шахты на каждый камень ставятся, а станция-добытчик в астероидное поле ставится, и кол-во добываемого зависит от ресурса всего поля, делённого на кол-во таких станций).
Non : |
sce долго создает/удаляет результат если астеров вагон.
|
Умножь это "долго" на кол-во секторов с такими полями и сможешь примерно представить тормоза от работы алгоритмов обработки таких полей и поиска в них
добавлено спустя 1 минуту:
XArgon : |
в самом скрипт-редакторе все математические расчёты можно сделать
|
Это верх извращения. Скриптовая реализация - самый отстойный и тормозной вариант. В обже будет гораздо быстрее и проще сделать (тем более, что для пересборки обжа х2 есть весь инструментарий).
Последний раз редактировалось: AlexYar (21:59 19-02-2015), всего редактировалось 1 раз |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Более того, я в твой мод даже играл и астероиды эти ставил.
Математически я согласен опять же. Но я хочу причесывать поле астероидов осознавая, что я делаю. Я не вижу результат математической формулы, пока не выполню её. Так же и с математической чистилкой с радиусом, но идея интересная, спасибо, доберусь до компа - попробую.
В общем хочется образно говоря стричь куст, точить скульптуру.
Поглядим.
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 3(46) Репутация: 325 Сообщения: 32758
Зарегистрирован: 26.10.2003
 |
|
Non : |
В общем хочется образно говоря стричь куст, точить скульптуру.
|
Внедряешь в x2galedit.obj нужные функции, выводишь управление ими в менюшку редактора, и в самом редакторе как хочешь, так и "рисуешь" с моментальным визуальным отображением результата. Потом в файл-карту сохраняешь.
|
|
|
XArgon
1425 EGP
        Рейтинг канала: 4(67) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Non : |
В общем хочется образно говоря стричь куст, точить скульптуру.
|
Ну, если хочется "водить курсором" - это навскидку не знаю, как сделать... ну, с "чистилкой" хоть более-менее можно по желаемой траектории формулу представить...
ХОТЯ - в качестве "чистилки" можно использовать корабль игрока, при зацикленном с временными промежутками скрипте. Но тут и Алекс прав, и если такой вариант "в реальном времени", чтобы видеть результат, придётся делать с реальными объектами, то тормозить всё это должно знатно.
PS: С obj-ами я, увы, не работал.
Последний раз редактировалось: XArgon (22:09 19-02-2015), всего редактировалось 1 раз |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Дак и я не работал с obj'ами. Я очень долго буду в этом разбираться, и запал скорее всего пропадет. Мне прямо переворачивать мир X2 не особо хочется, чтобы туда лезть с чувством, толком и чем-то там еще, ну тоесть изучать нормально что и как там работает.
Я просто не понимаю, зачем мне для этого все это мутить в игре, когда вне игры можно сделать это проще и на костылях. Упростить астеры до точек и т.п.
Количество возможных инструментов в создании набора костылей больше, а результат одинаков - список координат всех объектов.
За идею корабля-чистилки спасибо, это уже гораздо ближе. По крайней мере куда больше WYSIWYG, чем у простой математики в ScE.
AlexYar : |
Какая конечная цель? Чисто визуальная или практическая/производственная?
|
Визуальная.
AlexYar : |
Умножь это "долго" на кол-во секторов с такими полями и сможешь примерно представить тормоза от работы алгоритмов обработки таких полей и поиска в них
|
Мне не нужно с ними будет работать после экспорта карты из Galaxy Editor. Все костыли будут нужны для создания полей и последующего экспорта. В игре их не будет.
Последний раз редактировалось: Non (22:50 19-02-2015), всего редактировалось 1 раз |
|
|
Dimaxx
1016 EGP
      Репутация: 204 Сообщения: 5811 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
Я в редакторе карт поля делал просто. Генерировал рандомно координаты астера в пределах заданных координат. Затем пробегал все ранее сгенерированные и существующие объекты в этой области и проверял расстояние от только что сгенерированного до имеющихся на предмет минимально допустимого расстояния. Если меньше - генерим заново, иначе наносим на карту. Есть один огромный астер (размер его не помню) - вот его размер был минимально допустимым, чтоб астеры не бились об соседние объекты.
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Non : |
Оно то да. Я делал на основе х^2 и прочих простых считалок со случайными отклонениями и интервалами. Но если астеров вагон, то как-то причесывать становится сложнее. Либо тогда надо найти что-то, что опишет мне простой математикой более-менее сложные фигуры, которые я нарисую.
|
Берёшь базовый шум Перлина. Скармливаешь ему координаты. Результат делишь по модулую на некое число. Если остаток больше какого-то порога, то астроид. (например, делишь на 100, всё что больше 98 - астароид)
Подбираешь делитель и порог срабатывания экспериментально. Результаты прекрасны (шумом Перлина вообще куча похожих задач решается с отличными результатами).
С некоторыми ухищрениями, можно делать астероидные пояса, кольца у планет, сгустки мусора в точках Лагранжи пр.
Масштабы не ограничены. Памяти не занимют - генрятся на лету. Для 100500 уникальных систем сгенерится 100500 уникальных астероидных карт.
_________________ У меня бисера не доxеpа.
Последний раз редактировалось: Shirson (23:16 19-02-2015), всего редактировалось 2 раз(а) |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Dimaxx : |
Я в редакторе карт поля делал просто. Генерировал рандомно координаты астера в пределах заданных координат.
|
Я использовал твой редактор некоторое время.
Я уже умею генерировать поле астеров с заданием плотности и допустимых типов - исключая большие и очень большие в ScE и просто так - в твоем редакторе карт. Он правда почему-то не захотел импортировать карту, сгенерированную скриптами из NewReality от Murka. Поэтому не могу его использовать.
Ну и в плане двигать объекты в Galaxy Editor куда интереснее все делать - сразу видны изменения. Я раньше не знал о его чудо возможностях, потому что был юн, горяч и не умел английский.
Другое дело, что если надо срезать определенную пачку астероидов - им уже неудобно в списке выбирать. Нельзя просто провести кистью и срезать половину поля. Или срезать таким же шумогенератором как в граф редакторе - просто уменьшить плотность к краям.
Shirson : |
Берёшь базовый шум Перлина.
|
Спасибо за наводку. Я в математике дно, но думаю практическое применение освоить удастся.
Последний раз редактировалось: Non (23:16 19-02-2015), всего редактировалось 2 раз(а) |
|
|
Shirson
1605 EGP
           Рейтинг канала: 7(626) Репутация: 219 Сообщения: 16511 Откуда: 79°W 44°N Зарегистрирован: 29.01.2002
 |
|
Non : |
Shirson : |
Берёшь базовый шум Перлина.
|
Спасибо за наводку. Я в математике дно, но думаю практическое применение освоить удастся.
|
Я с шумом Перлина разбирался по вот этой статье
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
Всё предельно просто и понятно описано. А как схватишь суть - дальше вообще как по маслу
_________________ У меня бисера не доxеpа. |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
Shirson : |
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm
|
Обалдеть, огромное спасибо за ссылку!
|
|
|
AlexYar
1916 EGP
               Рейтинг канала: 3(46) Репутация: 325 Сообщения: 32758
Зарегистрирован: 26.10.2003
 |
|
Non : |
Мне не нужно с ними будет работать после экспорта карты из Galaxy Editor. Все костыли будут нужны для создания полей и последующего экспорта. В игре их не будет.
|
Если не будет в игре, то зачем тогда они создаются и экспортируются в карту?
Non : |
Дак и я не работал с obj'ами. Я очень долго буду в этом разбираться, и запал скорее всего пропадет.
|
На самом деле запал при работе с обжами только растёт
Если не ограничиваться первоначальной идеей, а идти по пути моддинга дальше, то фантастические возможности изменения обжа (возможности скриптов даже рядом не стояли, можно делать то, что ни одному моддеру иксов даже во снах не снилось) служат топливом для постоянно подброса в огонь интереса.
|
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
AlexYar : |
Если не будет в игре, то зачем тогда они создаются и экспортируются в карту?
|
Чтобы можно было быстро нарезать себе астероидных полей разной формы (как в картах Homeworld), и дальше напихивать в карту других вещей. Не летая на корабле вокруг астеров, не задавая никаких простых считалок.
AlexYar : |
На самом деле запал при работе с обжами только растёт
|
Я в них буду смотреть, когда закончу фундамент. Надеюсь что ты прав по поводу запала.
Идей было много, я не осилил из-за расфокусировки - делаешь какой-то кусок наполовину, потом другой кусок - и в итоге у тебя куча нерабочих кусков.
Идеи - крутая вещь, но их лучше записать и выполнять методично и последовательно, когда есть на чем.
По крайней мере текущий опыт подсказывает так.
|
|
|
SecondShadow
365 EGP
     Репутация: -4 Сообщения: 1454 Заблокирован Откуда: Бийск. Алтай. Зарегистрирован: 09.02.2008
 |
|
0, 0, A-E13,,,0, 0, A-E08,,, Смотрите.
_________________ Склероз - классная болезнь, ничего не болит и новости каждый день. |
|
|
Non
802 EGP
       Репутация: 239 Сообщения: 801
Зарегистрирован: 27.06.2006
 |
|
О, ворвалсо. Тредозаполнитель.
|
|
|
McRousseaux
845 EGP
      Репутация: 210 Сообщения: 6931 Предупреждений: 1 Откуда: ) и все мы Зарегистрирован: 31.01.2005
 |
|
Действительно занудство...
_________________ МакРуссо, он же Мак, он же Руссо.
Пират, контрабандист. Отличается пристрастием к рому.
Характер скверный.
Не женат. |
|
|
XArgon
1425 EGP
        Рейтинг канала: 4(67) Репутация: 395 Сообщения: 4153 Откуда: Интернеты Зарегистрирован: 06.08.2005
 |
|
Ничего то вы не понимаете в правильном "ботанстве".
|
|
|
|
|
|
Канал Игры Мечты: «Занудство: Генерация координат объектов в 3D» |
|