유체 표현에 연마

9109 단어 HOUDINI
이 기사는 HoudiniAdventCalender2018 12월 17일 기사입니다


여러분 안녕하세요
올해도 AdventCalender에 참가할 수 있어 영광입니다.

증류수 씨 감사합니다.

내 재료는 유체 표현!!
약간의 크리스마스 선물이 되면 기쁩니다.

우선...
VFX 유체의 기초로 최소한으로 유지하고 싶은 부분을 공유합니다 (free)
h tps://d ゔぇ. 오, ぇ. 코 m/오펜? d = 1z mr_ 또는 V 2pR npmsyvr4Txhbs5fP

Animation의 기초를 알고 있는 전제로 작성하고 있습니다.気になる部分があったら各自で調べるのをお勧めします。
ChristmasGift(HipFIle)은 이쪽
h tps://d ゔぇ. 오, ぇ. 코 m/오펜? 아니 d = 15Zd1 및 3 구 yF9 5 5 예 5 gpqGSdp4S9h 후 g

음...

Animation을 생각했을 때 유체의 움직임의 컨트롤은 어디서 프로그램(관리)되고 있는지
잡아 둡시다.

기본 Animation(lagrange)Pos = currentPosiotn + velocity
simpleAnimation.C

int main
{
   for (int i; iterate>= i; i++;)
  {
   vector Pos = currentPos;
   vector v = (velocity*TimeInterval)*i;
   //i = dt 
   @P = Pos +v;
   }
}
pointPostionに直接変化量を待たせて、更新する。
기본 Animation(Euler)Pos = currentPosiotn + velocity
simpleAnimation.C

int main
{
   for (int i; iterate>= i; i++;)
  {
   vector Pos = currentPos;
   vector v = (voxel_Velocity * TimeInterval)*i;
   //voxel_Velocity = Sampling current_VelocityData
   //i = dt 
   @P = Pos +v;
   }
}
voxelに変化量を待たせて、それらを参照し更新する。
Houdini의 Fluid_Dynamics_System 에도 마찬가지로 적용할 수 있습니다.
voxelAnimationParticleANimation 의 구하는 방법의 차이를 잡아 둡시다.

다음은 VolumeDisplacement아래를 참조하십시오.
h tps://d ゔぇ. 오, ぇ. 코 m/오펜? d = 13r1G 응 fSj vBrFq513QF84에 gr0-ZWP

VolumeDisplacement.C

int main
{
   vector idxPos = dnesityPosition;
   vector directiornalVector = normalize(gradient(density))*(amount*lengthnormalize(gradient(density)));
   vector pushUp = idxPos + directiornalVector

   float density = voxelTrace_density(pushUp);

   return density;

}
SurfaceDisplacementとVolumeDisplacementの違いをしっかりと復習しておきましょうWaveletTurbulence & GridRessAdvection
Technical Paper
Wavelet Turbulence htps //w w. cs. 이 r 넷 l. 에즈/~테 dm/W개 RB/와ゔぇぇt_つrぶぇせせ. pdf
Gridress Advection htps //w w. 아 ps. 오 rg / 우니 ts / dfd / 메에 친 gs / 우 p ら 아 d / dfd 2010 - 텐센도 rf. pdf
Other ぺtps://ぺ오 pぇ. cs.ぇm 그래. 에즈/~j 텐센/파페 rs_후에 s/리 V. pdf

깔끔한 분은
이것을 ...
h tps://d 리브 ぇ. 5오gぇ. 작은 m / 펜? 다른 d = 1x6lbRM 약한 K2X 장 T 키우 PW7 오 s21J4K

그래도 모르는 분은...

최선을 다하십시오.

CameraSpaceAdvect.C

int main
{
   vector Pos = dnesityPosition;
   vector advectvelocity = cross(getvoxelvelocity,CameraSpace_Turbulence) *(1/FPS)*Timestep;
   vector PositionSample_A =  advectvelocity+ Pos;

   vector PositionSample_B =(getvoxelvelocity(PositionSample_A) *(1/FPS)*Timestep;

   Pos +=  PositionSample_B;

   density = voxelTrace_density(Pos);
   return density;
}


Hipfile을 보면서 AdventCalender 자료를 볼 수 있다면 좋을 것입니다.

이 공식과 사고 방식을 houdini에 넣어 라.
실제 프로젝트로 래스터 화
결국 tool로 출시합니다.

질문이나 의견 등 있으면
부담없이 들어주세요.

좋아! 생각하면 좋은 버튼 ...
아니야.

소셜로 확산해 주시면 기쁩니다.

나도 여러분의 기분(크리스마스 선물) 받을 수 있으면 기뻐

PATREON
htps //w w. Pat Reon. 코 m/네 rv_ぉl

그럼
여러분
안녕하세요~~~~~~~~~

추신 : 고지를 잊었지만 HoudiniHive2018 Tokyo에서 발표했기 때문에 좋으면 봐주세요.
h tps://ゔぃ메오. 코m/305069852

좋은 웹페이지 즐겨찾기