Render.ru

вопрос по экспрешн

kvins

Активный участник
Рейтинг
16
#1
я сделал экспрешн для инстансера чтоб они крутились во время симуляции... а я хотел спросить как остановить повороты когда они уже лежат на земле?? кто нить мб знает


float $anything= rand(1,3);
particleShape1.Scale_new= <<$anything,$anything,$anything>>;


particleShape1.Rand_rotation= rand(-50, 40);


particleShape1.Rotation_new= <<rand(360),rand(360),rand(360)>>;
 

sanctus

Активный участник
Рейтинг
15
#2
а это creation или runtime expression?

я твой экспрешн что-то не понял, если честно, но расскажу как советовал делать Забелин, чтобы вращения не казались пластмассовыми, нельзя поворачивать сразу по всем трем осям(будет колбаса) в жизни объекты свободно вращаются только вокруг одной свободнорасположенной оси(я не имею ввиду ортогонльные), для этого используется операция rot, которая поворачивает один вектор вокруг второго на заданный угол, в радианах.
для каждой конкретной частицы следуе выбрать такой вектор и угол рандомно один раз и не изменять его на протяжении всего полета. и наращивать поворот вокруг этого вектора операцией rot


а вообще попробуй через Particle Collision Event Editor сделать.
или в том же экспрешене проверять скорость объекта, когда он упадет, то сообветственно скорость обнулится.
 

kvins

Активный участник
Рейтинг
16
#3
ну это я по уроку делал))) я просто экспрешн начал совсем недавно учить .. мб знаешь какие нить уроки ?
а еще можно ли с помощью экспрешн остановить движение уже вылетивших частиц? например на 50 кадре остановить
 

sanctus

Активный участник
Рейтинг
15
#4
ну конечно

не вдаваясь в синтаксис будет чтото такое:

if (frame==50)
{
velocityPP = <<0,0,0>>
};

или если 50 кадров от рождения, то

if (lifespanPP==50)
{
velocityPP = <<0,0,0>>
};
 

kvins

Активный участник
Рейтинг
16
#5
блин почему то не выходит (((( пишет синтах ерор .. я и велосити пп создал ......................а вот когда я скобки убрал то синтах исчез но нечего не останавливается
ну вот 2 фото......я делал в криэйшен вкладке. мб надо было в рантайм??


вот такой получился экспрешн но он не действует на частицы(((

if (particleShape1.lifespanPP==50)
particleShape1.velocityPP = <<0,0,0>>

я даже перенес все в афте динамик серавно нечего не остановилось((
 

Вложения

Сверху