|
|
|
Канал Freelancer »
МОДовый отсек: «Динамические астероиды» |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Когда летаешь в астероидном поле, то сразу видишь - есть маленькие астероиды, которые не фиксированы и свободно перемещаются, а также их можно взорвать. Сделать другие астероиды движущимися тоже просто - надо всего лишь сменить модельку динамического астероида.
Открываем первую попавшуюся инишку в SOLAR\ASTEROIDS. Находим раздел:
Код: |
[DynamicAsteroids]
asteroid = DAsteroid_mineable_small1
count = 12
placement_radius = 150.000000
placement_offset = 90.000000
max_velocity = 10.000000
max_angular_velocity = 3.000000
color_shift = 1.000000, 1.000000, 1.000000 |
Параметр asteroid ссылается на asteroidarch.ini в папке SOLAR. Открываем этот файл и находим указанный никнейм:
Код: |
[DynamicAsteroid]
nickname = DAsteroid_mineable_small1
DA_archetype = solar\asteroids\models\ast_mineable_dynamic.3db
material_library = solar\ast_mineable.mat
explosion_arch = dast_asteroid_explosion |
Теперь можете скопировать раздел или просто изменить модель для этого никнейма. Все модели астероидов лежат в папке SOLAR\ASTEROIDS\MODELS. У меня лично не получилось сделать чтобы использовалось несколько моделей динамических астероидов одновременно, надеюсь у кого получится.
Мы поставили астероид, но каким бы он большим не был, то все равно взрывается от одного выстрела и отпрыгивает как воздушный шарик. Эту проблему можно исправить.
Нужно скачать DLLку, разработанню пилотом Adoxa: http://redfed.clan.su/jeider/dynastex.dll
DLL скинуть в папку EXE фрилансера и в dacom.ini в разделе [Libraries] дописать его название.
Теперь вы можете в asteroidarch.ini к любому динамическому разделу подставить значения mass (масса) и hit_pts (броня). Теперь в зависимости от параметров изменится физика астероида при столкновении, а также для его взрыва требуется больше попаданий. Но есть маленькая проблемка: повреждения от столкновения с астероидом изменить нельзя. Даже если в constants.ini поставить завышенное значение COLLISION_DAMAGE_FACTOR, то повреждения не изменятся.
Кстати, для больших астероидов нужно еще изменить эффект взрыва. Вполне подходит эффект взрыва мины в минном поле.
В сумме всех изменений должно получится наподобие этого:
Код: |
[DynamicAsteroid]
nickname = mod_dlava_90
DA_archetype = solar\asteroids\models\ast_lava02_90.3db
material_library = solar\ast_lava.mat
explosion_arch = explosion_large_mine
particle_effect = gf_dynamiclavaast
mass = 5000
hit_pts = 10000 |
Теперь нужно избавится от основных астероидов. Открываем файл астероидного поля в SOLAR\ASTEROIDS и делаем изменения в самом первом разделе:
Код: |
[Field]
cube_size = 400
fill_dist = 1650
diffuse_color = 220, 220, 180
ambient_color = 120, 120, 120
ambient_increase = 70, 40, 30
empty_cube_frequency = 1.000000 <<<-ставим процент появления пустого куба на 100%, тогда не появится ни одного фиксированного астероида в поле! |
Заодно находим раздел динамических астероидов и увеличиваем их количество параметрами:
Код: |
[DynamicAsteroids]
asteroid = DAsteroid_mineable_small1
count = 12 << количество
placement_radius = 150.000000 << максимальный радиус появления
placement_offset = 90.000000 << минимальный радиус появления
max_velocity = 10.000000 << скорость
max_angular_velocity = 3.000000 << вращение по оси (как spin у планет)
color_shift = 1.000000, 1.000000, 1.000000 |
Последний раз редактировалось: Jeider (14:45 13-06-2011), всего редактировалось 5 раз(а) |
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
А что будет, если они все будут нефиксированными? Поле не улетит?
_________________ BRIGHT SLAP!!! |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Поле это всего лишь место генерации астероидов, т.е. оно стоит на месте и в зависимости от нахождения игрока в конкретном месте генерирует какие-либо астероиды вокруг него в зависимости от параметров.
Фрилансер не поддерживает динамическое изменение объектов в системе. Конечно, если они не являются миссионными.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Обучалка. Создание динамических астероидов от взрыва динамических астероидов.
Открываем FX\explosions.ini.
Представим, у нас есть астероид как в Омеге-41 (planet_frag). Наша цель сделать взрыв астероида более убедительным. Для этого нам надо его "разрушить", но так как это мы не сможем сделать, то можно управлять вылетом астероидов из точки взрыва текущего.
За основу взят динамический астероид с размером 90. Также можно попробовать и с 60, но с 30 и 10 данный взрыв будет смотреться неубедительно.
Добавляем строчки в инишку explosions.ini:
Код: |
[explosion]<<взрыв
nickname = explosion_planet_asteroid <<уникальное произвольное имя
lifetime = 0.000000 <<время взрыва
process = none <<тип процесса
effect = explosion_large_mine <<прикрепленный эффект
debris_impulse = 200 <<скорость вылетаемых частей
debris_type = debris_3_minute_a, 0.330000 <<описание характеристик частица
debris_type = debris_3_minute_b, 0.330000
debris_type = debris_3_minute_c, 0.330000
innards_debris_start_time = 0.000000 <<время запуска
innards_debris_num = 30 <<число
innards_debris_radius = 30 <<радиус вылета (т.е. от 0 до 30)
innards_debris_object = simple_ast_frag_planet_1 <<ссылка на модель
innards_debris_object = simple_ast_frag_planet_2
[Simple] <<модель
nickname = simple_ast_frag_planet_1 <<уникальное произвольное имя
DA_archetype = solar\asteroids\models\ast_planet_frag_10.3db <<ссылка на файл модели
material_library = solar\ast_fragments.mat <<тексуры
Mass = 200 <<масса
[Simple]
nickname = simple_ast_frag_planet_2
DA_archetype = solar\asteroids\models\ast_planet_frag_30.3db
material_library = solar\ast_fragments.mat
Mass = 400 |
Подробнее о debris type:
Код: |
[Debris]
nickname = debris_3_minute_a <<имя
death_method = exploding <<метод уничтожения
lifetime = 180, 300 <<время существования
linear_drag = 0.500000 <<скорость по прямой
angular_drag = 0.100000, 0.100000, 0.100000 <<скорость по осям X Y Z
explosion = explosion_large_debris <<взрыв |
У меня не получилось подставить параметр hit_pts к появляющимся астероидам. Они оставались неубиваемыми, но это не делает их особенно ущербными. Одного лишь эффекта хватит с полна. Так, теперь надо указать наш взрыв в asteroidarch.ini. Нужно у нашего динамического астероидам изменить параметр explosion_arch:
Код: |
explosion_arch = explosion_planet_asteroid |
Вуаля. Когда вы взорвете астероид, то он разлетится на 30 маленьких астероидиков. Выглядит захватывающе.
Последний раз редактировалось: Jeider (15:50 25-06-2011), всего редактировалось 1 раз |
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
И без лагов?
_________________ BRIGHT SLAP!!! |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
А сам посмотри.
http://www.youtube.com/watch?v=CrII3QnYzGA
|
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
Интересно было бы тоже самое с минами своротить
А, например, астеройды в Нью-Йорке, там где база разбойников?
Там камушки здоровые были.
Плюс, я бы уменьшил скорость и количество астеройдов, наверно...
Как поставлю фрил, пропишу и поэксперементирую.
_________________ BRIGHT SLAP!!!
Последний раз редактировалось: GameoverVergil (19:55 25-06-2011), всего редактировалось 1 раз |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
В моем варианте сделан акцент на близость с черной дырой, а в других местах скорость можно сделать любую, хоть вообще убрать. Но тогда придется сделать акцент на массу астероидов.
В будущем я бы хотел сделать огромные динамические астероиды, не эти мелкие камушки. На место астероида можно поставить что угодно, хоть Валькирию . Фрил позволяет свободно манипулировать всеми характеристиками кроме направления полета.
Астероиды в НьюЙорке сделать проще простого - достаточно создать дополнительный тип астероида как динамический с моделькой этих астероидов.
Кстати, нашел метод создания разных астероидов в поле. Если в одном поле можно сделать только 1 динамический астероид, то можно тупо сделать 2 астероидных поля с разными модельками.
|
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
Можно сделать так, чтобы приодически появлялись свободные астеройды во всем секторе и периодически ударялись об станции и планеты.
_________________ BRIGHT SLAP!!! |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Это конечно было бы хорошо, но во фриле есть глюк, который делает в астероидном поле глюки с показанием эффекта солнца... В общем с этим надо разбираться.
А удары об станцию были бы нелогичны. Огромный астероид логически снесет любую маленькую базу во фриле - таковы у них размеры. Лучше сделать назначение, т.к. это интереснее. Система с крутыми астероидами, система с красивыми базами. Вместе не катит.
Последний раз редактировалось: Jeider (20:17 25-06-2011), всего редактировалось 1 раз |
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
Для начала надо ресайз всех кораблей и станций сделать
А вот в диких секторах такой вариант возможен.
_________________ BRIGHT SLAP!!! |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Выбирай сам, воля твоя. У меня же принцип прост - фрил 1.0 фигня и надо делать все по своему.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Заметил интересную вещь. Оказывается принцип создания астероидных полей во фриле такой:
Берутся кубики, в них заполняются астероиды из [Cube]. При том если в кубе 6 параметров, то 6 астероидов в каждом кубе. И кубы тупо повторяются, они тупо одинаковы. Как проверено? Просто. Я забыл отключить эффект прилипалы на корабле - стреляешь и можешь хазардбокс прилепить к астероиду или нпц или базе - так вот, я стрельнул в динамический астероид в одной части поля, а через 10 к встретил опять светящийся астероид... при том динамический. Че за фигня? Оказалось, тупо повторяются...
|
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
Полтергейст!
Можно сделать кладбище кораблей и корабль - призрак, который будет приследовать игрока
_________________ BRIGHT SLAP!!! |
|
|
goshadiamo
155 EGP
  Рейтинг канала: 3(38) Репутация: 14 Сообщения: 775 Откуда: Nemiroff Зарегистрирован: 05.04.2010
 |
|
GameoverVergil : |
корабль - призрак, который будет приследовать игрока
|
Чо курил? А сделать всегда можно что угодно.
|
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Шишь вам сделать все что угодно. Я пытался огромные астероиды впихать в поле. Те, которые у базы Тегаки висели. В итоге там такие глюки появились, что в страшном сне не привидится.
|
|
|
GameoverVergil
60 EGP
 Репутация: 1 Сообщения: 100 Откуда: Джабуро Зарегистрирован: 23.01.2010
 |
|
А что за глюки?
_________________ BRIGHT SLAP!!! |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
А ты сделай сам и посмотри. 
Астероиды ужасно загрузили модельку у меня и совсем sur потеряли... я подумал... и забил. Слишком много их получалось.
Последний раз редактировалось: Jeider (19:01 27-06-2011), всего редактировалось 1 раз |
|
|
lerYvel
805 EGP
      Рейтинг канала: 1(9) Репутация: 118 Сообщения: 2597
Зарегистрирован: 29.10.2006
 |
|
Jeider : |
lerYvel : |
тогда еще вопрос: автопилот будет их облетать?
|
Не проверял... вроде не должен...
|
Это не айс.
Тогда астероиды должны быть достаточно маленькими и отлетать.
Если не будут отлетать, тогда они должны быть достаточно большими, чтобы их можно было вовремя заметить и облететь ... ну и такое поле можно назвать аномальным, т.к. автопилот не может в нем корректно работать
Вообще лучше потестить.
_________________ ツ |
|
|
Jeider
570 EGP
    Рейтинг канала: 5(198) Репутация: 49 Сообщения: 2804 Откуда: Пенза Зарегистрирован: 17.08.2009
 |
|
Ставить очень маленькие астероиды в поле это бессмысленно и невозможно. Т.е. я могу технически впихать в одну зону единовременно только один тип динамического астероида. Несколько видов? Тогда надо делать 2 отдельных автономных зоны. Мелкие астероиды идеально подходят как детали разламывания астероида.
У астероидов есть параметры:
- расстояние от игрока до точки начала генерации;
- расстояние от игрока до точки окончания генерации.
Т.е. если астероиды довольно медленные, то не смогут попасть в игрока. Я на скорости 1000 (в моем моде) попадал только один раз за долгое время в астероид. При том астероиды были почти самые быстрые. Я не говорю про самые медленные. В общем принцип в том, что не только игрок облетает астероиды, но и астероиды отлетают в сторону от игрока.
добавлено спустя 57 секунд:
И хочу добавить - динамические астероиды не могут наносить повреждений по игроку! Даже если лететь в них на крейсере со скоростью 5000000, то повреждений не будет нанесено совсем. Повреждать могут только фиксированные астероиды из фрила 1.0.
Последний раз редактировалось: Jeider (22:14 09-08-2011), всего редактировалось 2 раз(а) |
|
|
|
|
|
Канал Freelancer ->
МОДовый отсек: «Динамические астероиды» |
|