Maya/Particles 2015.06.14 21:53

새로배운 Function추가.


Febreze_test06.mb


sphrand()

띄엄 띄엄하게 떨어진 상태로 떨어뜨려놓기라고나 할까.

구의 벡터를 회전시켜주는데 랜덤하게 회전기켜준다.


Returns a random vector value that exists within a spherical or ellipsoidal region of your choice. An ellipsoid is a sphere scaled along its X-, Y- or Z-axes.



Creation에 sphrand(360)을 추가해준다음 Runtime에서 이값을 가져와서 조금더 회전값을 추가하였다.

너무 빨라서 속도를 조금 낮춰주는 작업을 추가하였다.


그리고 처음은 작게 나중에는 파티클의(Instance Object) 오브젝트들이 방사형으로 크기가 변하게 하기 위해 Ramp를 사용하였다.






최소값이 0.1, 최대값이 2로 설정. 처음에는0.1으로 나와서 일정시간뒤엔 2의 크기로 변하도록 만들었으며 Random한 크기를 가지게 하기위해 (아래그림처럼) 중간에 작은 크기를 나오게 하기위에 검정을 추가하였다.

'Maya > Particles' 카테고리의 다른 글

Febreze Final.  (0) 2015.06.30
Field조절.  (0) 2015.06.25
새로배운 Function추가.  (0) 2015.06.14
회전값 추가.  (0) 2015.06.10
오늘 배운 Expression.  (0) 2015.06.10
RadiusPP, OpacityPP값 조절하기.  (0) 2015.06.10
Maya/Particles 2015.06.10 22:07

회전값 추가.



회전값을 추가 하였고 스케일값 수치를 조금 바꾸었다.


분명 회전값을 준다고 했는데 안들어갔네...


Custom_Rotation을 만든 다음에 Creation에 아래와 같이 Expression을 시작부터 약간 회전값을 주게 만들었다.


particleShape1.Custom_Rotation = rand(-20, 15);


-20, 15의 회전을 가지고 태어나는데 이렇게만 하면 처음같는 회전값이 -20과 15인체로 나와서 전혀 변화가 없다.

그래서 RotationPP를 다시 추가한 다음에 Runtime에 아래와 같이 추가.


particleShape1.rotationPP += particleShape1.Custom_Rotation*0.175;


particleShape1.Custom_Rotation의 값에(-20, 15) 곱하기 0.175를 한다음 여기에 +particleShape1.rotationPP해준다.

이걸 프레임단위로 반복하면 위에 영상같이 회전값을 가지게 된다.

'Maya > Particles' 카테고리의 다른 글

Field조절.  (0) 2015.06.25
새로배운 Function추가.  (0) 2015.06.14
회전값 추가.  (0) 2015.06.10
오늘 배운 Expression.  (0) 2015.06.10
RadiusPP, OpacityPP값 조절하기.  (0) 2015.06.10
Particle_test.  (0) 2015.06.07
Maya/Particles 2015.06.10 01:32

오늘 배운 Expression.

//

//

//안의 Expression을 실행하지 않는다.

/*

*/

위와 마찬가지이다. //로 주석(설명문)을 쓸수도 있지만 이렇게도 할 수 있다.


그리고 Expression을 쓸때 문단이 1개밖에 없다면 ;을 붙이지 않는다.

예) particleShape1.rotationX = 5


if else문으로 RGB값을 particle shade에 넣기.


RGB값은 0~2까지의 값.


if(particleShape1.particleId%3 == 0)

particleShape1.radiusPP = <<1, 0, 0>>;

else if(particleShape1.particleId%3 == 1)

particleShape1.radiusPP = <<0, 1, 0>>;

else particleShape1.dadiusPP = <<0, 0, 1>>;


이렇게 할경우 아래와 같이 나온다.



if(particleShape1.particleId%3 == 0)

particleShape1.radiusPP = <<1, 0, 0>>;


- particleId가 = 0일때 red값을


else if(particleShape1.particleId%3 == 1)

particleShape1.radiusPP = <<0, 1, 0>>;


 particleId가 1 = Green값을


else particleShape1.dadiusPP = <<0, 0, 1>>;


둘다 아닐 경우 blue값을 반환한다.


%3이 들어가는 이유.

ParticleId를 3으로 나누면 나머지가 0,1,2가 되기 때문이다. 

'Maya > Particles' 카테고리의 다른 글

새로배운 Function추가.  (0) 2015.06.14
회전값 추가.  (0) 2015.06.10
오늘 배운 Expression.  (0) 2015.06.10
RadiusPP, OpacityPP값 조절하기.  (0) 2015.06.10
Particle_test.  (0) 2015.06.07
Per object, Per Particle Attribute의 차이.  (0) 2015.06.04
Maya/Particles 2015.06.10 00:32

RadiusPP, OpacityPP값 조절하기.

레퍼런스영상은 파티클들 움직일때 크키가 랜덤하게 되고 시간이 지날수록 뒷부분이 불투명해지는 Expression을 만드는 작업니다.




particle render type는 colud입니다.(cloud로 하지않고하면 파티클 탈락현상이 일어나는데..왜 그런지 잘;)


쓰인 Expression 확인해 보기.



noise, time, particleId가 쓰였습니다.

시간(time)이 지날때 0.2을 곱해주고 ParticleId에 다시 곱해줍니다. 그다음 이 값과 0.015를 사이를 반복해 주는것.



이제 시간이 지날때 먼저태어난(꼬리에 해당되는) particle들이 불투명해지는 Expression 만들기.



시간(time)이 지날때 -(마이너스가된다) 이값에 0.015를 곱해주고 여기에 ParticleShape1.opacity값을 더해준다.

particleShape1.opacity = -time*0.15+particleShape1.opacityPP;

이렇게 써 넣어도 된다. 플레이를 누르고 확인하면 위와 같이 불투명해지는 파티클을 확인해 볼 수 있다.



'Maya > Particles' 카테고리의 다른 글

새로배운 Function추가.  (0) 2015.06.14
회전값 추가.  (0) 2015.06.10
오늘 배운 Expression.  (0) 2015.06.10
RadiusPP, OpacityPP값 조절하기.  (0) 2015.06.10
Particle_test.  (0) 2015.06.07
Per object, Per Particle Attribute의 차이.  (0) 2015.06.04
Maya/Particles 2015.06.07 19:46

Particle_test.

어렵게 생각하면 역시 어려운 편이고.

책으로 읽어가며 공부하는것 보다 역시 인생을 실전이라고 직접 몸을 부딪히고 해봐야 한다고

딱 그렇게 하니 완성.ㅎ

Expression 열심히 공부하쟈..(작업 파일은 올리지 않습니다.)



쓰인 Expression만 올리도록 하겠습니다.


Creation


particleShape1.Custom_Index = rand(0, 3);

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

particleShape1.Custom_Scale = rand(0.7, 0.25);


Runtime befor


particleShape1.Custom_AddRotation += rot(<<3,3,0>>,<<1,0,0>>,0.5);

particleShape1.Custom_AddScale = -time*0.5;


'Maya > Particles' 카테고리의 다른 글

새로배운 Function추가.  (0) 2015.06.14
회전값 추가.  (0) 2015.06.10
오늘 배운 Expression.  (0) 2015.06.10
RadiusPP, OpacityPP값 조절하기.  (0) 2015.06.10
Particle_test.  (0) 2015.06.07
Per object, Per Particle Attribute의 차이.  (0) 2015.06.04