particle goal weighting과 per-particle attribute의 사용은, particles가 surface 또는 mesh를 통하여 서행하도록 만들 수 있다. geometry의 U와 V 값은 그것들에 기대되어지는 매우 중요한 효과의 기반이 된다. 여기에서 crawler의 방식은 poly torus와 함께 시잔한다.
- poly torus를 만들고 바랐던 scale로 키운다.
- Particle, Emit from Object를 사용하여 torus로 부터 Particles를 방사한다.
- Particles, Goal menu를 사용하여 torus에 goal object를 만든다.
- Surface를 위해 emitter type을 바꾼다.
- Need parent UV option을 체크한다.
다음으로 particle shape 노드의 Goal Weights and Objects frame에서 torus의 Goal Weight를 1로 set하고 Add Attribute 창의 Particle tab으로부터 particle system을 위한 다음의 attribute를 추가한다. : parentU, parentV, goalU, goalV. setup을 완성한다. 지금 당신은 particles crawling을 얻기 위한 expressions를 만들고, 각각의 프레임에서 U나 V중의 하나에서 particle의 goal을 단순하게 발전시킨다. 첫번째로, surface 상에서 particle이 생성될 위치에 particle을 붙여넣을 expression을 만든다.
goalU = parentU;
goalV = parentV;
그리고 난 후, Runtime before Dynamics에서 goal position을 점차적으로 증가시키고, U에서 surface를 가로질러 particle을 움직인다.
float $inc = 0.005;
goalU = (goalU +$inc) % 1;
modulo operator(%)는 goal value cycle에 사용되고, U = 1 boundry에 cross하기 위한 particle과 그들의 여행을 다시 하도록 허용한다; 그렇지 않으면 그들은 border에 모두 정제된다. $inc 변수는 particles가 surface에서 frame 당 움직이는 거리를 결정한다. 그리고 그들의 속도도 결정한다. 여기에서 모든 particle 들이 같은 속도로 기어간다. 변경된 goal setting line에 따라 그들을 다양화 시키는 것은 쉽게 된다.
goalU = (goalU + $inc * (abs(noise(id)) % 1;
노이즈 function은 그것의 id number에 기초한 각 파티클의 속도를 변경하는 것에 사용되어 진다. 또한 그 절대값 function은 particle의 뒤로 멈춤과 움직임 없이 확신하는 것에 사용되어 진다.
[JPG image (1.1 MB)]