Render.ru

GoalU, GoalV

Lemieux

Знаток
Рейтинг
58
#1
Приветствую всех.
Если использовать экспрешн вида particleShape1.goalU = rand (0,2); particleShape1.goalV = rand (0,8); , то целевая поверхность будеть покрываться хаотично частицами. Как решить задачу в которой частицы покрывали поверхность равномерно, например от низа до верха объекта?
 

iNOD

Активный участник
Рейтинг
18
#2
Например так.

Код:
for ($i = 0; $i < 800; $i++)
{
float $a = $i/100
particleShape1.goalU = $a; 
particleShape1.goalV = $a;
}
 

Lemieux

Знаток
Рейтинг
58
#4
Почему-то частицы скапливаются в верхней части цилиндра. У цилиндра Min Max Range U = 0 2; Min Max Range V = 0 8 если это поможет.
 

Вложения

iNOD

Активный участник
Рейтинг
18
#5
Попробуй так

Код:
for ($i = 0; $i < 200; $i++)
{
float $a = $i*0.01;
float $b = $i*0.04;
particleShape1.goalU = $a;
particleShape1.goalV = $b;
}
Владимир Забелин и в каком месте ошибка?) Я как пример написал.
 

iNOD

Активный участник
Рейтинг
18
#6
Да, еще можно так.

Код:
int $crttm = `currentTime -q`;
if ( $crttm != 0)
{
float $a = $crttm*0.01;
float $b = $crttm*0.04;
particleShape1.goalU = $a;
particleShape1.goalV = $b; 
}
 

Lemieux

Знаток
Рейтинг
58
#7
во 2 примере частицы прилепляются в одну координату (8,8), во втором прилепляются по спирали от (0,0) до (2,8), в 200 кадре опять скапливаться наверху.
 

iNOD

Активный участник
Рейтинг
18
#8
На сколько кадров тебе нужна анимация? Если например на 200 то ты считаешь на калькуляторе 8/(кол кадров) и подставляешь его в формулу.

Код:
int $crttm = `currentTime -q`;
if ( $crttm < (кол кадров))
{
for ($i = 0; $i < 200; $i++) 
{
float $b = $crttm*(8/(кол кадров));
particleShape1.goalV = $b;
float $a = $i*0.01;
particleShape1.goalU = $a;
}
}
 

Lemieux

Знаток
Рейтинг
58
#9
Мне желательно не по кадрам, а с помощью particleId. Например, 1 частица летит в координату 0,0; 2 частица летит в координату 0,0.01 (шаг зависит от кол-ва частиц, которое будет в сцене и от диапазона UV координат) и так далее. Извините если непонятно объясняю :))
 

iNOD

Активный участник
Рейтинг
18
#10
Приветствую всех.
Если использовать экспрешн вида particleShape1.goalU = rand (0,2); particleShape1.goalV = rand (0,8); , то целевая поверхность будеть покрываться хаотично частицами. Как решить задачу в которой частицы покрывали поверхность равномерно, например от низа до верха объекта?
Скинь сюда экспрешен который рандомно раскидывает по поверхности, я посмотрю и изменю, просто сейчас не могу искать инфу про партиклы, ибо занят.
 

Lemieux

Знаток
Рейтинг
58
#11
Эти 2 строчки как раз и раскидывают рандомно частицы по поверхности.
particleShape1.goalU = rand (0,2);
particleShape1.goalV = rand (0,8);
 

iNOD

Активный участник
Рейтинг
18
#12
Вот пробуй. Проверял работает.

Код:
int $crttm = `currentTime -q`;
if ( $crttm != 0) 
{
float $a = $crttm*0.01; 
particleShape1.goalU = $a;
particleShape1.goalV = rand(0, 8);
}
 

iNOD

Активный участник
Рейтинг
18
#13
Можно еще так.

Код:
int $crttm = `currentTime -q`;
if ( $crttm != 0) 
{
float $a = $crttm*rand(0.03, 0.05); 
particleShape1.goalU = $a;
particleShape1.goalV = rand(0, 8);
}
 

iNOD

Активный участник
Рейтинг
18
#14
В этой строчке. Чем больше это значение тем быстрее поднимаеться вверх. Но если так то будут видны линии из партиклов по этому.

float $a = $crttm*0.01;

Лучше использовать этот вариант как по мне, хотя смотря какая цель.

float $a = $crttm*rand(0.03, 0.05);
 

iNOD

Активный участник
Рейтинг
18
#16
А тебе какой вариант больше подошел первый или второй?
 

Lemieux

Знаток
Рейтинг
58
#17
Блин, что-то меня заглючило и сообщение нельзя удалить.
Подошёл первый вариант с постоянной переменной. Хотя, если взять в рандоме поменьше значение и диапазон, то эффект тоже будет интересный.
Вообще для чего мне это нужно. Я пытаюсь сделать торнадо через частицы и Goal в виде нюрбс цилиндра. Таким поведением частиц можно показать как вихрь смерча устремляется к земле. Конечно точного эффекта пока не добились, но я очень благодарен за информацию и примеры.
 

iNOD

Активный участник
Рейтинг
18
#18
Так наверно лучше использовать курвс, и анимировать их, а на них пустить частицы как тут.

http://www.youtube.com/watch?v=RwIwC8cDHvU&feature=endscreen&NR=1
 

Lemieux

Знаток
Рейтинг
58
#19
Это всё хорошо, но как тогда создать поток, вортексом? С этими полями тоже проблемы есть. А тут сделал из цилиндра форму, какая тебе нужна, сделал его Goal, проанимировал вращение. Да и мне полезно будет изучение Mel.
 

iNOD

Активный участник
Рейтинг
18
#20
Так если делать с целиндром, то как показать потоки? Просто будет все монотонно и не красиво, а так создал 5-8 сплайнов, сделал анимацию, потом повесил на них партиклы, а на партиклы флюиды, и будет красота.
 
Сверху