Автор: Mark7
1)
Эти эффекты находятся в
module_particle_systems.py могу использоваться во многих вещях например дым, пыль, дождь и так далее.Начнём с самого простого, здесь я объясню принцип.
Например надо заменить дым пистолета или любого огнестрела ,
Нажмите, чтобы прочитать
[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 15)])]],
Далее чтоб создать эффект
Открываеш
module_particle_systems.py
найди эту строку
Нажмите, чтобы прочитать
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys
(0.1, 0.1, 0.1), #emit box size
(2, 2, 0), #emit velocity
0.1 #emit dir randomness
),
ты её можешь изменить, но лучше создать новую.
Так что скопируй её и вставь под ней должно получиться вот так
Нажмите, чтобы прочитать
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys
(0.1, 0.1, 0.1), #emit box size
(2, 2, 0), #emit velocity
0.1 #emit dir randomness
),
("pistol_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys
(0.1, 0.1, 0.1), #emit box size
(2, 2, 0), #emit velocity
0.1 #emit dir randomness
),
Теперь замени имя ей, на пример так
Нажмите, чтобы прочитать
("my_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys
(0.1, 0.1, 0.1), #emit box size
(2, 2, 0), #emit velocity
0.1 #emit dir randomness
),
Теперь обясню что значит что
Нажмите, чтобы прочитать
("my_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys
(0.1, 0.1, 0.1), #emit box size
(2, 2, 0), #emit velocity
0.1 #emit dir randomness
),
Жёлтый название эффекта, обект 3д или 2д , название текстуры которую он использовает
Красное это цвет эффекта
Белый размер частиц
Коричневый это скорость эффекта
Оранжевый размер эффекта
Синее это форма, тип , модель эффекта
Зелёным это частность появления то есть с 1.0 до 99.0 ты можешь сам выбрать.
Вот совет:
Цвет , форму ,тип, модель можно скопировать с других строк я думаю вы догодаетесь.
После окончания создания своего эффекта заменяем то что в крастном на имя твоего эффекта, это примерно так:
Нажмите, чтобы прочитать
[(ti_on_weapon_attack, [(play_sound,"snd_pistol_shot"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_my_smoke", pos1, 15[/color])])]],
2)
Чтобы сделать правильную точку выхода дыма из винтовки в module_items.py нужно прописать верные координаты(тут координаты для моей винтовки, но у вас они не будут сильно отличаться):
Нажмите, чтобы прочитать
[(play_sound,"snd_imp_ag_fire"),(position_move_x, pos1,-11),(position_move_y, pos1,57),(particle_system_burst, "psys_rifle_smoke", pos1, 5)]
В таком случае, при использовании стандартного эффекта пистолетного выстрела ("pistol_smoke") дым будет лететь откуда нужно, но по диагонали.
Чтобы дым летел куда нужно - открываем module_particle_systems.py и создаем там новый эффект(на основе пистолетного):
Нажмите, чтобы прочитать
("rifle_smoke", psf_billboard_3d, "prtcl_dust_a",
90, 2.5, 0.6, -0.2, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(0, 1.5), (0.5, 11.0), #scale keys (размер частиц)
(0.0, 0.1, 0.1), #emit box size
X Y Z Отвечает за пространство в котором распространяется эффект
(0, 2, 0), #emit velocity
X, Y, Z Отвечает за скорость(100%) с которой распространяется эффект
0.1 #emit dir randomness
),
Вроде всё. Смотрите чтобы эффект который использует винтовка совпадал с созданным вами эффектом
]]>
Вот система координат для помещения эффекта
]]>
3)
Чтобы создать небольшую вспышку при выстреле, необходимо создать следующий эффект:
Винтовка
Нажмите, чтобы прочитать
("rifle_fire", psf_billboard_3d, "prt_mesh_fire_2",
90, 0.3, 0.6, -0.1, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.232), (1, 0.221), #red keys
(0.0, 0.103),(1, 0.171), #green keys
(0.0, 0.026), (1, 0.0), #blue keys
(0.5, 1.5), (0.0, 0.5), #scale keys
(0.1, 0.1, 0.1), #emit box size
(0, 1, 0), #emit velocity
0.0 #emit dir randomness
),
Пистолет
Нажмите, чтобы прочитать
("pistol_fire", psf_billboard_3d, "prtcl_dust_a",
90, 0.3, 0.6, -0.1, 60.0, 1.5, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.75), (1, 0), #alpha keys
(0.0, 0.232), (1, 0.221), #red keys
(0.0, 0.103),(1, 0.171), #green keys
(0.0, 0.026), (1, 0.0), #blue keys
(0.5, 1.5), (0.0, 0.5), #scale keys
(0.1, 0.1, 0.1), #emit box size
(3, 3, 0), #emit velocity
0.1 #emit dir randomness
),
При использовании вместе с нашим винтовочным или пистолетным дымом выглядит по меньшей мере интересно)
Чтобы оба эффекта работали вместе, нужно прописать:
Нажмите, чтобы прочитать
[(play_sound,"snd_imp_ag_fire"),(position_move_x, pos1,-11),(position_move_y, pos1,57),(particle_system_burst, "psys_rifle_smoke", pos1, 5),(particle_system_burst, "psys_rifle_fire", pos1, 9)]
Точно так же и с пистолетом:
Нажмите, чтобы прочитать
[(play_sound,"snd_imp_ap_fire"),(position_move_x, pos1,27),(position_move_y, pos1,36),(particle_system_burst, "psys_pistol_smoke", pos1, 3),(particle_system_burst, "psys_pistol_fire", pos1, 3)]
]]>
Вот примерно так
]]>
4)
Есть многие кто хотят добавить огонь, больше пыли ну и так далее из под копыт лошади: За это отвечают следующие строки
Нажмите, чтобы прочитать
("game_hoof_dust", psf_billboard_3d|psf_randomize_size|psf_randomize_rotation|psf_2d_turbulance, "prt_mesh_dust_1",#prt_mesh_dust_1
10, 1.5, 0.2, 0, 3, 10, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.6, 1), (1, 1), #alpha keys
(0.5, 1.0), (1, 0.9), #red keys
(0.5, 0.7),(1, 0.3), #green keys
(0.5, 0.2), (1, 0.0), #blue keys
(0.0, 2.0), (1.0, 3.5), #scale keys
(0.2, 0.3, 0.2), #emit box size
(0, 0, 3.9), #emit velocity
0.5, #emit dir randomness
130, #rotation speed
0.5 #rotation damping
),
("game_hoof_dust_snow", psf_billboard_3d|psf_randomize_size, "prt_mesh_snow_dust_1",#prt_mesh_dust_1
10, 1.5, 0.2, 0, 3, 10, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.6, 1), (1, 1), #alpha keys
(0.5, 1.0), (1, 0.9), #red keys
(0.5, 0.7),(1, 0.3), #green keys
(0.5, 0.2), (1, 0.0), #blue keys
(0.5, 4), (1.0, 5.7), #scale keys
(0.2, 1, 0.1), #emit box size
(0, 0, 1), #emit velocity
2, #emit dir randomness
0, #rotation speed
0 #rotation damping
),
("game_hoof_dust_mud", psf_billboard_2d|psf_randomize_size|psf_randomize_rotation|psf_2d_turbulance, "prt_mesh_mud_1",#prt_mesh_dust_1
10, 1.5, 0.2, 0, 3, 10, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.6, 1), (1, 1), #alpha keys
(0.5, 1.0), (1, 0.9), #red keys
(0.5, 0.7),(1, 0.3), #green keys
(0.5, 0.2), (1, 0.0), #blue keys
(0.0, 0.2), (1.0, 0.22), #scale keys
(0.15, 0.5, 0.1), #emit box size
(0, 0, 15), #emit velocity
6, #emit dir randomness
200, #rotation speed
0.5 #rotation damping
),
Красный Это простая пыль проявлявшийся в поле
Синий Это когда лошадь скачет на снегу
Коричневый А это по грязи
И вот Ещё если кто хочет убрать или добавить больше дождей и снега
Дождь
Нажмите, чтобы прочитать
("game_rain", psf_billboard_2d|psf_global_emit_dir|psf_always_emit, "prtcl_rain",
100, 2.5, 2.33, 5.1, 24.2, 5.1, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(7.0, 5.3), (4, 8.3), #alpha keys
(0.0, 0.7), (1, 0.4), #red keys
(0.0, 0.7),(1, 0.4), #green keys
(0.0, 0.7), (1, 0.4), #blue keys
(6.0, 6.0), (1.0, 1.0), #scale keys
(10.2, 34.2, 54.2), #emit box size
(45, 6, +10.0), #emit velocity
6.0, #emit dir randomness
6, #rotation speed
6.5 #rotation damping
),
Снег
Нажмите, чтобы прочитать
("game_snow", psf_billboard_3d|psf_global_emit_dir|psf_always_emit|psf_randomize_size|psf_randomize_rotation, "prt_mesh_snow_fall_1",
150, 2, 0.2, 0.1, 30, 20, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.2, 1), (1, 1), #alpha keys
(1.0, 1.0), (1, 1.0), #red keys
(1.0, 1.0), (1, 1.0), #green keys
(1.0, 1.0), (1, 1.0), #blue keys
(1.0, 1.0), (1.0, 1.0), #scale keys
(10, 10, 0.5), #emit box size
(0, 0, -5.0), #emit velocity
1, #emit dir randomness
200, #rotation speed
0.5 #rotation damping
),
Заменяем то чо в красном на то как нам хочется с
1.0 до
99.0.
Чтоб увеличить кровь всё делаем так как описано выше только со следующими скриптами
Нажмите, чтобы прочитать
("game_blood", psf_billboard_3d |psf_randomize_size|psf_randomize_rotation, "prt_mesh_blood_1",
500, 0.65, 3, 0.5, 0, 0, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.7), (0.7, 0.7), #alpha keys
(0.1, 0.7), (1, 0.7), #red keys
(0.1, 0.7), (1, 0.7), #green keys
(0.1, 0.7), (1, 0.7), #blue keys
(0.0, 0.015), (1, 0.018), #scale keys
(0, 0.05, 0), #emit box size
(0, 1.0, 0.3), #emit velocity
0.9, #emit dir randomness
0, #rotation speed
0, #rotation damping
),
("game_blood_2", psf_billboard_3d | psf_randomize_size|psf_randomize_rotation , "prt_mesh_blood_3",
2000, 0.6, 3, 0.3, 0, 0, #num_particles, life, damping, gravity_strength, turbulance_size, turbulance_strength
(0.0, 0.25), (0.7, 0.1), #alpha keys
(0.1, 0.7), (1, 0.7), #red keys
(0.1, 0.7), (1, 0.7), #green keys
(0.1, 0.7), (1, 0.7), #blue keys
(0.0, 0.15), (1, 0.35), #scale keys
(0.01, 0.2, 0.01), #emit box size
(0.2, 0.3, 0), #emit velocity
0.3, #emit dir randomness
150, #rotation speed
0, #rotation damping
),
Удачи
Сообщение отредактировал Mark7: 21 Октябрь 2009 - 09:59