Форумы на Наша-Life
Home user CP  
Календарь событий Найти других пользователей Часто задаваемые Вопросы Поиск  
Автор
Тема
Создать Новую Тему    Ответить
lilo.panic
(Senior Member)

Зарегистрирован: Aug 2009
Проживает: Russian Federation/
Написал: 234 сообщений

Оценка: 18 Votes 18 чел.

Партиклы и все что с ними связано.
Сообщение #991975
Доброго времени суток) Впечатленный работой abnoksius полез ковырять партиклы, а русскоязычных туторов для соурс не нашел. По крайней мере "партиклы source" ведут на страницу сталкера.

Решил перевести кусок валв-вики.
(http://developer.valvesoftware.com/...System_Overview)

И еще. Я не шибко крутой переводчик, поэтому более или менее технически грамотно написано только то, что я уже сам проверил

Создание первой системы частиц.

Часто проще взять готовую систему и модифицировать ее под свои нужды. Чтобы создать систему достаточно нажать кнопку "Create" и ввести название системы.

Сейчас вы создали полностью пустую систему. Без каких-либо плагинов она не будет ничего делать. Существуют несколько основных компонентов, которые нужно добавить. Итак, начнем.

Для начала нужно добавить "Animated Sprite Renderer" - он будет рендерить систему.
Далее, нам захочется указать где будут создаваться партиклы. Идем в "Initiolizers" добавляем "Position Within Sphere Initializer". Установим максимальную и минимальную скорость на 64. Без установки начальной позиции партиклы не будут знать откуда им начинать появляться.

Далее добавим "Continious Emitter". Должен появиться белый квадрат. Будет изучаться целая туча партиклов (1000/1004) с текстурой по умолчанию.

Не смотря на то, что для партиклов была установлена минимальная и максимальная скорость, они не движутся. Также они постоянно создаются и никуда не исчезают. Это потому, что у них нет оператора. Даже не смотря на то, что у них установлена начальная позиция и скорость, ничего не будет происходить.

Нам нужно два оператора. Первый - "Movement Basic". Он позволяет партиклам двигаться. Второй - "Lifespan Decay". Этот оператор будет убивать партиклы по истечению срока жизни. Сейчас вы должны наблюдать как движутся партиклы и исчезают через секунду. По дефолту срок жизни партикла - 1 секунда.

Срок жизни партикла устанавливается во время создания, для того чтобы его имзенить добавим "Lifespan Random Initializer".
Почти все инициализаторы и операторы поддерживают случайные значения в заданном интервале. Если нужно, чтобы частицы жили от 2х до 4х секунд, установим соответсвующие значение в поля min/max рандомного инициализатора.

Теперь поменяем текстуру. Зайдем в "Properties" и установим другой материал для нашего спрайта. Материал партикла должен использовать SpriteCard шейдер (ищите текстуры имеющие в названии пути до них particle).

Теперь добавим "Alpha Fade Out Random" оператор. Партиклы будут "испаряться" в течение промежутка их жизни. По умолчанию - это последние 25% жизни.

Партиклы и производительность

Максимальное количество партиклов
По умолчанию система может содержать не более 1004 партиклов. Память выделяется статически под систему целиком, т.е. под 1004 партикла. Так что, после настройки системы стоит посмотреть на счетчик реально ипользуемых партиклов и ограничить их максимальное число реально используемым.

Поточность.

Партиклы используют многопоточность посистемно. Если у вас много систем, то каждая система будет помещена в свой поток (?). Так что стоит разделять сложные системы на множества, дабы ощутить всю радость поточности. Также, система и ее дети находятся в одном потоке, поскольку должны обмениваться данными. И не стоит забывать о ряде ограничений, делающим подобный подход не всегда оправданным, например в случае не шибко больших систем. (?)

SIMD

В данным момент большинство операторов, инициализаторов и т.д. работают в "SIMD" (Single instruction, multiple data; http://ru.wikipedia.org/wiki/SIMD). Это означает, что на текущем железе партиклы обсчитываются по 4 штуки за раз (?)
Поэтому стоит ограничивать кол-во партиклов значением кратным четырем (например, округлять максимальное кол-во партиклов в меньшую сторону), таким образом система частиц будет использоваться более эффективно. Это не даст огромного прироста производительности, но все же.


Перерисовка (overdraw)
Перерисовка вызвана наложением слоев друг на друга. В vmt есть полезные параметры: - $minfadesize && $maxfadesize. Партикл начинает появляться/исчезать в зависимости от использованного места на экране (?)
- $maxsize - максимальный размер, которого может достигнуть партикл
- $minsize
- $blendframes 0/1. По умолчанию анимированные текстуры смешиваются из кадров попарно (?).
/*
Тут мне стало лень это переводить.
*/



Рендеры системы частиц.

render_animated_sprites

Рендерит анимированные спрайты в различных ориентациях.

animation rate
Скорость анимации

orientation_type
Тип ориентации:
0 - Billboarded (направлены на камеру)
1 - фиксированное значение по оси Z и вращение вокруг x/y
2 - фиксированное значение по оси X и Y и вращение вокруг Z (лицом наверх )

orientation_control_point
Позволяет установить ориентацию, но не работает (с).


render_rope
Рендерит все партиклы системы как одну длинную веревку. Сглаженность регулируется через изменение texel_size и subdivision_count. Уничтожение партиклов будет сопровождаться перерисовкой веревки для достижения ее непрерывности, а это в свою очередь будет сопровождаться миганием. Поэтому случайный срок жизни частицы для этого случая - ад.

render_screen_velocity_rotate
В валв-вики на этом месте ничего нет. Эксперименты ничего не дали.

render_sprite_trail
Рендеринг анимированных спрайтов со следами, длина которых (?) основана на их скорости.
(я лично докрутился до эффекта "через звезды", как в ласт главе хл2)


Излучатели частиц.

emit_instantaneously

Излучает частицы вспышкой.

emission_start_time
Время начала излучения.

num_to_emit
Количество партиклов в вспышке.

num_to_emit_minimum
The minimum number of particles to emit in a burst.
Минимальное количество партиклов.
Любое значение, отличное от -1 будет означать излучение случайного числа частиц в диапазоне между указанным в этом поле значением и num_to_emit

maximum emission per frame
Максимальное число партиклов на фрейм. Например, если фпс=30, а max_emission_per_frame=1, то за секунду будет создано 30 партиклов.

emit_continuously

Продолжительное излучение частиц в течение указанного периода времени.

emission_start_time
Время начала излучения частиц (секунды)
emission_rate
Количество создаваемых партиклов в секунду
emission_duration
Время излучения частиц.

emit noise
(пустота)



п.с. пока больше ничего не смотрел, может потом еще чего-то переведу своим надмозгом, если конечно такой перевод устраивает кого-то
Old Post 12-10-2010 11:15
lilo.panic отсутствует Посмотреть данные 'lilo.panic' Отправить Приватное Сообщение для 'lilo.panic' Найти другие сообщения 'lilo.panic' Добавить lilo.panic в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #991976
Оо. Респект дружище. Вечерком почитаю...
Old Post 12-10-2010 11:19
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
abnoksius
(Rescue 9)

Зарегистрирован: Jan 2007
Проживает: Беларусь/Минск
Написал: 608 сообщений

Оценка: 20 Votes 20 чел.

Developer 
Сообщение #991978
А что, толково переведено, держи +5 . Вообще инфы в вальв вики по ним не так уж и много, что печально, приходится методом тыка разбираться что к чему, вкуривать как устроены вальвовские системы. Быть может если будет время сам напишу о своих открытиях, не помешало бы составить хотя б какую-никакую документацию по имеющимся видам initializers и operators, и их параметрам, написать туторов каких.
Old Post 12-10-2010 11:37
abnoksius отсутствует Посмотреть данные 'abnoksius' Отправить Приватное Сообщение для 'abnoksius' Найти другие сообщения 'abnoksius' Добавить abnoksius в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
lilo.panic
(Senior Member)

Зарегистрирован: Aug 2009
Проживает: Russian Federation/
Написал: 234 сообщений

Оценка: 18 Votes 18 чел.

Сообщение #991988
Продолжаю переводить инициализаторы. Не все переведено адекватно) Если неточность фатальна, то просьба сообщить мне через ПМ, я поправлю.

Инициализаторы.
Инициализаторы инициируют начальные значения параметров частицы. Кэп.

Alpha Random

Устанавливает случайное значение прозрачности. 0 - прозрачно полностью, 255 - непрозрачно напрочь.

alpha_min
alpha_max
Минимальное/максимальное значение альфы на партикл.
alpha_random_exponent - ?


Color Random

Окрашивает партикл в цвет из указанного диапазона значений, и/или оттеняет цветом мира.

color1
color2
Диапазон цветов частиц

tint_perc
% влияния местного освещения на цвет партикла

tint control point
Местоположение локации откуда берется цвет (?). Отключает уникальный цвет для партиклов (?)

tint control point movement threshold
Оптимизация. Инициализатор только обновляет оттенок освещения, если контрол поинт сместился на некоторое значение с момента предыдущего обновления. (?)

tint clamp min/max
Фиксирует семпл освещения в указанном диапазоне. Сохраняет освещение в ожидаемом диапазоне значений. (???!!!)


Inherit Velocity

Если эмиттер припаренчен к передвигающейся энтите, он будет добавлять свою скорость к каждому партиклу.

velocity scale
Нормализованное процентное отношение наследуемой скорости. Может быть больше 100%

Position Within Box Random
Частицы образуются в случайном месте бокса с заданными размерами.
x_min
x_max
+/- X units
y_min
y_max
+/- Y units
z_min
z_max
+/- Z units

Lifetime from Sequence

Устанавливает время жизни частицы на основе продолжительности анимации и фпс. Используется в случае, когда один тип частиц состоит из множества последовательностей с разной длиной (в одной последовательности 10 кадров, в другой 60, но все они должны проигрываться адекватно без замедленения частоты кадров проигрывания)
(я так понял, что это - что-то типа нормализации по фпс)
Если флаг "use animation rate as FPS" в рендере "Render_Animated_Sprites" установлен (имеет те же значения FPS - ?), партикл свяжет время жизни с анимацией правильно.
(т.е., наверное нужно понимать, что в течение жизни частица проиграет кол-во кадров не большее, чем то, что уместится в этот интервал. Если мой надмозг фейлит - см. оригинал)

Frames Per Second
Устанавливает указанное число в качестве фпс анимации. Связывает время жизни и количество кадров в последовательности, получаемой партиклом через sequence_random или через другой инициализатор, определяющий последовательность.




Lifetime Random

Устанавливает время жизни партикла из указанного диапазона.
Lifetime_min
Lifetime_max
Min/max время жизни партикла в секундах.


Lifetime Pre-Age Noise

Заставляет частицу прикидываться более старой. Все операторы, проверяющие время жизни с этим инициализатором работают коректно.

start age minimum
start age maximum
Минимальный/максимальный возраст, добавляемый частице.

time noise coordinate scale
Установка временной шкалы функции шума (?) основанной на времени создания частицы. БОльшие числа будут возрастать случайно в большей степени, меньшие - почти не будут изменяться. (см. оригинал, я ничего не понял)



spatial noise coordinate scale

Устанавливает шкалу пространственной части функции шума, основанной на месте создания частицы. Промежутки возрастания/убывания - см. выше. Шум, основанный на времени появления партикла складывается с пространственным шумом, поэтому чтобы избавиться от эффекта соответствующего параметра нужно занулить time noise/этот_параметр/spatial_noise.

(прим. над. они бы написали формулу, что ли, перевод бы облегчился многократно :/)



time coordinate offset
Устанавливает сдвиг функции шума по времени. Смещает результат полученного времени на случайную (указанную) величину (см. оригинал)

spatial coordinate offset
Устанавливает пространственный сдвиг функции шума. Ведет себя аналогично.


absolute value
Включает значения от -1 до 1 в выхлоп функции шума.
При использовании absolute value, выход функции может порождать случайные изменения направлений возле нуля. (в оригинале как-то мутно сказано: Using absolute value bool (0/1) , the output can have sudden shifts in direction as the number approaches zero and then bounces back into positives instead of going into negatives.)


invert absolute value
invert_absolute_value = 1 - absolute_value;


Move Particles Between 2 Control Points

Перемещает партиклы между двумя контрольными точками на скорости лежащей в диапазоне мин/макс. Может быть крайне полезно для лазеров/лучей, следов от выстрела из снайперки.

end control point
Точка, к которой движется партикл.

start offset
Смещение места запуска парктиклов относительно start_control_point

end spread
Разброс партиклов возле точки прибытия.

maximum speed
Максимальная скорость перемещения партикла к конечной контрольной точке.

minimum speed
Минимальная скорость перемещения партикла к конечной контрольной точке.

Position Modify Offset Random

Перемещает начальную позицию партикла в мировом/локальном пространстве относительно точки излучения партиклов. Может быть использовано для выстраивания партиклов по линии во время использования "шарового излучателя" или для смещения позиции партикла относительно второй контрольной точки.

offset min
Минимальное смещение по XYZ
offset max
Максимальное смещение по XYZ

Offset in local space
Булево значение, определяет в каком пространстве выполнить смещение (1 - local).


offset relative to radius
Булево значение, смещение выполняется пропорционально радиусу партикла. Например, если смещение = "0 0 1" и два партикла имеют радиус 32 и 64, то они будут смещены на 32 и 64 юнита соответственно.

control_point_number
Контрольная точка, относительно которой произойдет смещение.
Old Post 12-10-2010 13:52
lilo.panic отсутствует Посмотреть данные 'lilo.panic' Отправить Приватное Сообщение для 'lilo.panic' Найти другие сообщения 'lilo.panic' Добавить lilo.panic в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #992002
Этот короткий тутор даст Вам понять как создавать партикл огня типа вот такого
Итак начнем.

Properties
Создайте новую партикл систему и назовите её. Мы должны определится с главными свойтвами партикла. В главной таблице партиклов нажмите properties (свойства).
Измените максимальное количество партиклов (max_particles) на 40. Теперь выберите material, нажмите ... и в браузере выберите текстуру.
Для примера пусть будет particle\fire_particle_4\fire_particle_4.vmt Установим bounding_box_min на -512 -512 -512 и bounding_box_max на 512 512 512
Измените color на оранжевый. В этих настройках мы закончили. Переключаемся на рендеринг (табличка render ).

Renderer
Всем партиклам нужна какая-то визуализация. Мы же это будем делать с помощью рендера render_animated_sprites.
Внутри его измените значение animation_rate на 0.8999999762 и измените animation_fit_lifetime на 1. Рендер настроили.
Теперь нажмите на таблице operator.

Оperator
С помощью оператора мы заставим наши партиклы двигатся, ищезать и т. д.
В табличке операторов добавьте movement_basic . Эта штукенция определяет базовые движения партикла.
Измените gravity на 0 0 50 . Гравитация направляет огонь в нужную сторону. 0 0 50 направляет его вверх как в реальности.
Если установить 0 0 -50 то огонь будет направлен вниз. ДАлее добавьте Oscillate_Vector .
Этот оператор поможет создать "волновой еффект" (wavy fire effect).
Этот эффект поможет придать реализма и живости огню, а не чтобы он стоял статичным и не двигался. Примерно вот такую функцию кол****ий мы будем использовать http://developer.valvesoftware.com/...d4/Sin_wave.jpg .
В Oscillate_Vector возле oscillation rate min измените значение на -0.400000006 -0.400000006 0 и oscillation rate max на 0.400000006 0.400000006 0 .
Измените oscillation frequency min на 0.5 0.5 1 , далее oscillation frequency max на 1 1 0 . С этим закончили.
Добавим Lifespan Decay этот оператор поможет уничтожить (чтобы он плавно ищез) партикл после некоторого времени.
давайте сделаем "затухания партикла" (альфы). Добавляем Alpha_Fade_In_Random в нем изменяем fade in time min на 0.3000000119
и fade in time max на 0.400000006 . Теперь добавим Alpha_Fade_Out_Random и измените в нем fade out time min на 0.349999994 и fade out time max на 0.5
С операторами закончили.

Инициализаторы.
Добавим инициализатор для установки начального состояния партикла.
Добавьте Radius Random и установите radius_min на 3 и radius_max на 10 . Это симитирует партикл с заданым радиусом.
Если хотите больший огонь, то установите radius_max на 50. Далее добавьте Alpha Random, установите alpha_min на 120 и alpha_max на 200.
Добавьте Rotation Random ничего не изменяя.
Добавьте Position Within Sphere Random , установите distance_bias на 1 1 0 и speed_max на 10.
Установите speed_in_local_coordinate_system_min и speed_in_local_coordinate_system_max на 0 0 5 . Это спавнит партикл в заданной сфере и с заданной скоростью.
Добавьте Lifetime Random и измените lifetime_max на 1.25 и lifetime_min на 1 . Это установить в партикле время жизни партиклов рандомно в пределах этих цифр.
Добавим Sequence Random и установите sequence_max и min на 2
Теперь добавляем osition Modify Offset Random и установим offset in local space 0/1 на 1
С инициализ. закончили.

Излучатели.
Тепрь последнее действие это добавляем главную функцию, которая оживит наш огонь. Добавьте emit_continuously и теперь наш огонь зажжется в окне превью!)
Измените emission_rate на 50.

На этом всё. Спасибо за внимание . Тутор написал быстро и без переводчика. Надеюсь всё понятно и правильно)

PS. А почему слово к_о_л_е_б_а_н_и_я отметило как типа мат?
PS. Ахаха. Токшо догнал. Внутри мат

Поправил Stridemann 12-10-2010 в 15:20

Old Post 12-10-2010 15:17
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
lilo.panic
(Senior Member)

Зарегистрирован: Aug 2009
Проживает: Russian Federation/
Написал: 234 сообщений

Оценка: 18 Votes 18 чел.

Сообщение #992016
Разборка партикла "blood_zombie_split"

Начем с "Properties"

Материал: "particle\antlion_goop3\antlion_goop3.vmt"
Максимальное количество партиклов установлено на 16.
Надо понимать, что это - 16_экземпляров_себя, а этот экземпляр_себя содержит еще тонну детей. Если я не прав - поправьте.

Рендеры:
render_animated_sprites

Операторы:
Alpha Fade and Decay
Movement Basic: гравитация - 200. Драг = 0
У детей разная гравитация. Что происходит во время наследования?

Rotation Spin Roll
spin_rate_degrees: 12 - на этот угол будет поворачиваться частица

Вопрос к спецам: как происходит наследование параметров?

Инициализаторы:
Radius Random
Тут радиус установлен от 16 до 24. Надо понимать, что дочерние сопли скейлятся пропорционально этому значению.

Sequence Random
Rotation Random
Color Random
Alpha Random
Position Within Sphere Random

Lifetime from sequence
ФПС = 30

Rotation Yaw Flip Random

Эмиттеры:
emit_instantaneously

Дочерние партиклы. Их цела туча:
blood_impact_green_01_droplets
blood_impact_green_01_chunk (4)
blood_impact_green_01_droplets (2)
blood_impact_green_01_chunk

blood_impact_red_01_mist
blood_impact_red_01_chunk
blood_impact_red_01_smalldroplets
blood_impact_green_01_chunk

Для начала будем разбирать дочерние партиклы.

------------------------------

blood_impact_green_01_droplets
Выглядит как разлетающиеся в разные стороны зеленоватые сопли капли.

Рендеры:
render_animated_sprites
Ничего примечательного в настройках.

Операторы:
Movement Basic
Гравитация установлена в "0 0 -500" - для того, чтобы разлетевшись в разные стороны капли начали падать вниз.
Drag: 0.0099999998
В валв вики написано "Drag to apply to the velocity of the particle." Смысл того, что получается после перевода я не понимаю. Визуально, чем выше значение, тем быстрее "замирает" анимация разлета в разные стороны. Т.е. эффект похож на воздушный тормоз.

Alpha Fade and Decay
start_fade_in_time: 0
end_fade_in_time: 0.15
start_fade_out_time: 0
end_fade_out_time: 1

Партикл начинает появляться с рождения и до 15% жизни. Исчезает же он в течение всей жизни от 0% до 100%. (Любопытно то, что по этой логике он исчезает даже когда появляется )


Инициализаторы:
Position Within Sphere Random
speed_in_local_coordinate_system_max: 0 0 100
speed_in_local_coordinate_system_min: -300 0 60
speed_max: 200
speed_min: 100
distance_bias: 1 1 1
Разброс по осям. 1 1 0 будет создавать партиклы только в плоскости xy, в то время как 1 1 10 создаст сверху и снизу сферы примерно в 10 раз больше партиклов, чем по x && y.


Sequence Random
sequence_min = 4
sequence_max = 7
Это значит, что во время инициализации партиклу будет назначена случайным образом текстура из 4-7 кадров материала.


Rotation Random
rotation_offset_min = 0
rotation_offset_max = 360
Максимальный угол, на который повернется партикл = 360 градусам. Т.е. угол поворта партикла относительно нормального положения - случайная выборка между min/max;

rotation_initial = 0
Я так понимаю, что конечный угол поворота частицы будет равен rotation_initial + rand(0,360)


Color Random
color1/color2 - зеленый/красный
tint clamp min/max - черный/белый
tint update movement threshold = 32
Я так понял, что обновляться "подсветка" партикла будет не ранее, чем он преодолеет расстояние в 32 юнита

Alpha Random
alpha_min = 200
alpha_max = 255

Прозрачность от 200 до 255. Т.е. капли будут почти непрозрачными.

Radius Random
radius_min: 0.25
radius_max: 1
Кстати, этот инициализатор делает бесполезной настройку радиуса в пропертис.


Lifetime Random
lifetime_min: 0.3
lifetime_max: 1
Поциент долго жить не станет.


Эмиттеры:
emit_instantaneously

num_to_emit = 50
maximum emission per frame = 100


-----------------
blood_impact_green_01_chunk - почти ничем не отличается от предыдущего, только его почти не видно.

-----------------
blood_impact_red_01_mist - похоже на "дымку" из крови
Материал - particle\blood_core.vmt
В инициализаторах ничего интересного нет.
В операторах - Radius Scale:

radius_start_scale: 0
radius_end_scale: 2
scale_bias: 0.75

Оператор занимается масштабированием партикла со временем.
Old Post 12-10-2010 16:56
lilo.panic отсутствует Посмотреть данные 'lilo.panic' Отправить Приватное Сообщение для 'lilo.panic' Найти другие сообщения 'lilo.panic' Добавить lilo.panic в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
 
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #992022
> "Drag to apply to the velocity of the particle." Смысл того, что получается после перевода я не понимаю.
"Трение, применяемое к скорости партикля")

> во время инициализации партиклу будет назначена случайным образом текстура из 4-7 кадров материала.
Ахтунг! Биомех! Не это ли ты искал?)
Old Post 12-10-2010 17:42
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Teod
(На подхвате)

Зарегистрирован: Jun 2008
Проживает: random_state/default_city
Написал: 4325 сообщений

Оценка: 83 Votes 83 чел.

Сообщение #992041
Цитата:
Оригинальное сообщение от manJak
> "Drag to apply to the velocity of the particle."
Передвинуть, чтобы применить к скорости патрикля.
Мимопроходил.
The Cake is a Pie!
Old Post 12-10-2010 19:07
Teod отсутствует Посмотреть данные 'Teod' Отправить Приватное Сообщение для 'Teod' Найти другие сообщения 'Teod' Добавить Teod в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
manJak
(маппер-теоретик)

Зарегистрирован: Feb 2006
Проживает: Mother Russia/Moscow
Написал: 2953 сообщений

Оценка: 66 Votes 66 чел.

Developer Старожил 
Сообщение #992043
Ок..
Потащите для нанесения на скорость крупинки.
Old Post 12-10-2010 19:21
manJak отсутствует Посмотреть данные 'manJak' Отправить Приватное Сообщение для 'manJak' Найти другие сообщения 'manJak' Добавить manJak в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #992062
Слушайте пацаны, мож как нить на ВДЦ запихнуть то что мы перевели? Мы ж типа перевели статейки и можно как нибудь добавить страницу рядом на русском языке. Будет типа http://developer.valvesoftware.com/...tem_Overview:ru
Old Post 12-10-2010 22:06
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
lilo.panic
(Senior Member)

Зарегистрирован: Aug 2009
Проживает: Russian Federation/
Написал: 234 сообщений

Оценка: 18 Votes 18 чел.

Сообщение #992069
Создаем дурацкое подобие какого-то взрыва, может быть слегка ядреного.
Если кому не лень - допилите плс.

Создадим новый pcf.
Ядреный взрыв состоит из:
1. вспышка
2. волна (эдакий раскат)
3. гриб (столб+шляпа)
4. огонь
5. купол

Опишу вкратце.

1. Вспышка - glow. текстура - "particle\particle_glow_05_add_15ob_noz.vmt". Скорости по нулям, с дикеями и альфой нужно немного поиграться.
2. Волна - текстура "particle\particle_smoke_dust.vmt".
В инициализаторе distance_bias = "1 1 0" - чтобы распространялась волна в одной плоскости.
3. Шляпа гриба - это та же волна, только с другими значения увеличения радиуса и скорости перемещения + гравитация по-жирнее. Вертикальная "ножка" этого подосиновика отличается настройкой эмиттера, который генерит дым не весь сразу (emission per frame). Чтобы дым летел вертикально вверх в свойствах "Position within sphere" нужно установить distance bias absolute value = 0 0 1; distance bias = 0 0 1. Если забить на один из параметров, дым будет лететь в обе стороны.

4. Огонь - это
Дым с другой текстурой и просто "шаровая вспышка".


5. купол - position within sphere:
distance bias: 1 1 1
distance_bias_absoute_value: 0 0 1
(нам просто нужна половина купола)


Все это засунуть в контейнер и перемешать. В общем, смотрите сырцы, если кому интересно

п.с. надеюсь ничего кроме pcf не надо? ))

lilo.panic добавил 12-10-2010 в 23:50:25:
И да, проверить я это не могу, поскольку партиклы у меня с новой видяхой не отображаются в игре, и на старых настройках 15 фпс. Может венда нарывается на снос и/или криво встали дрова.

lilo.panic добавил 12-10-2010 в 23:56:50:
stridemann, по идее можно, только имхо нужно доделать перевод местами и облагородить его. Плюс ко всему я ни разу не трогал эдитор вики, поэтому.. )
Прикрепленный файл: particles.rar
Файл был скачан 8 раз(а).
Old Post 12-10-2010 23:48
lilo.panic отсутствует Посмотреть данные 'lilo.panic' Отправить Приватное Сообщение для 'lilo.panic' Найти другие сообщения 'lilo.panic' Добавить lilo.panic в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
KYB
(Кей вай би)

Зарегистрирован: Nov 2008
Проживает: Россия/Ростов-на-Дону
Написал: 1375 сообщений

Оценка: 42 Votes 42 чел.

Сообщение #992141
lilo.panic, отличная, информативная тема, достойная прикрепления. Держи в благодарность +5
Old Post 13-10-2010 12:23
KYB отсутствует Посмотреть данные 'KYB' Отправить Приватное Сообщение для 'KYB' Найти другие сообщения 'KYB' Добавить KYB в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Kostega
Автор сообщения забанен.

Зарегистрирован: Mar 2009
Проживает: /
Написал: 729 сообщений

Сообщение #992180
lilo.panic, малаца. Размести перевод потом на валввики
Old Post 13-10-2010 14:50
Kostega отсутствует Посмотреть данные 'Kostega' Отправить Приватное Сообщение для 'Kostega' Найти другие сообщения 'Kostega' Добавить Kostega в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Stridemann
(Инженер-изобретатель)

Зарегистрирован: Jun 2009
Проживает: Украина/Киев/
Написал: 2304 сообщений

Оценка: 95 Votes 95 чел.

Developer 
Сообщение #992252
Цитата:
stridemann, по идее можно, только имхо нужно доделать перевод местами и облагородить его. Плюс ко всему я ни разу не трогал эдитор вики, поэтому.. )

>lilo.panic
Ну я то нормально вроде бы перевел. (5-й пост в этой теме) Переводил это- http://developer.valvesoftware.com/...A_Fire_Particle
Old Post 13-10-2010 19:03
Stridemann отсутствует Посмотреть данные 'Stridemann' Отправить Приватное Сообщение для 'Stridemann' Найти другие сообщения 'Stridemann' Добавить Stridemann в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
lilo.panic
(Senior Member)

Зарегистрирован: Aug 2009
Проживает: Russian Federation/
Написал: 234 сообщений

Оценка: 18 Votes 18 чел.

Сообщение #992256
> Ну я то нормально вроде бы перевел.
А к тебе я и не имею претензий)
Кстати, пока я не переходил по ссылкам, думал что это твой тутор.
Old Post 13-10-2010 19:12
lilo.panic отсутствует Посмотреть данные 'lilo.panic' Отправить Приватное Сообщение для 'lilo.panic' Найти другие сообщения 'lilo.panic' Добавить lilo.panic в Список Друзей
Править/Удалить Сообщение Ответить с Цитированием
Все время в GMT . Сейчас 13:07.
Создать Новую Тему    Ответить

Быстрый ответ
Ваше Имя:
Хотите Зарегистрироваться?
Ваш Пароль:
Забыли свой Пароль?
Вы можете оставлять свои комментарии анонимно, просто введя свои имя и оставив пустым поле пароля.
Ваш ответ:

[проверить размер]
[транслит в win] | [?]
[русская клавиатура]

Дополнительно: Подтверждение по E-Mail


Быстрый переход:
 
Оцените эту Тему:
 

Правила форума:
Создание Тем не разрешено
Создание Сообщений разрешено
Создавать Вложения не разрешено
Редактирование Сообщений не разрешено
Коды HTML запрещены
Коды форума разрешены
Смайлики разрешены
Коды [IMG] запрещены