ParticleBlinkScript 속성 및 매개 변수

ParticleBlinkScript 커널 내에서 다음과 같은 입자 속성을 사용할 수 있습니다.

float3 p_position

입자의 현재 위치.

float3 p_initialPosition

입자의 시작 위치.

float3 p_lastPosition

입자의 이전 위치.

float3 p_velocity

입자의 속도.

float4 p_color

입자의 색입니다.

float3 p_size

입자의 크기입니다.

float4 p_ 방향

입자의 방향.

float3 p_rotationAxis

입자의 회전축입니다.

float p_rotationAngle

입자의 회전 각도.

float p_rotationVelocity

입자의 회전 속도.

float p_mass

입자의 질량.

플로트 p_life

입자의 수명.

float p_startTime

입자의 시작 시간입니다.

모든 파티클 속성 배열은 시스템의 파티클 수의 크기이므로 커널에 원하는만큼 전달할 수 있으며 모든 파티클을 동시에 반복합니다. 예를 들어 속도와 위치에 따라 입자 색상을 변경하거나 새로운 힘을 쓸 수있는 커널을 작성할 수 있습니다.

ParticleBlinkScript에서 노브 생성

커널에서 매개 변수를 선언 할 수도 있습니다. BlinkScript 노드를 사용하면 파라미터 노브가 자동으로 생성됩니다. ParticleBlinkScript 노드는 다르게 작동합니다. 노브를 자동으로 생성하는 단점은 주어진 매개 변수에 대해 만들 노브 유형을 선택할 수없고 슬라이더 또는 툴팁의 범위를 설정할 수 없다는 것입니다. ㅏ float3 속성은 Color_knob또는 XYZ_knob. 노브를 자동으로 생성하면 제어판의 레이아웃을 제어 할 수 없습니다.

대신 ParticleBlinkScript는 User Knobs 이름을 매개 변수와 일치시켜 바인딩합니다. 커널에 float4 호출 된 매개 변수 pa_color그런 다음 RGBA 색상 사용자 노브라는 pa_color 에 바인딩 할 생성해야합니다. float4 매개 변수.

ParticleBlinkScript 방법은 시간이 조금 더 걸리지 만 훨씬 더 제어 가능합니다.

노트 :  파라미터에 대한 사용자 노브를 생성하지 않으면 기본값으로 설정됩니다. 그만큼 Create Knobs 버튼은 아직없는 파라미터에 대한 노브를 만듭니다. 필요한만큼 제거, 교체 및 편집 할 수 있습니다.

마법의 속성

커널에서 현재 프레임과 같은 추가 정보를 갖는 것이 유용 할 수 있습니다. 속성이 특정 매직 이름으로 정의 된 경우 ParticleBlinkScript가이를 제공합니다. 이것들은:

플로트 _frame

현재 프레임 Nuke 렌더링 중입니다.

float _systemTime

파티클 시스템의 현재 시간.

플로트 _dt

이 프레임의 시간 델타.

float _startTime

시간 단계의 시작.

float _endTime

시간 단계의 끝.

이 모든 것은 밑줄로 시작합니다 _ 그들을 구별하기 위해 피_ 커널 속성. 가장 많이 사용하는 것은 _시작 시간, _endTime _dt.

이러한 속성은 다음과 같이 다양한 정보를 얻기 위해 함께 사용될 수 있습니다.

_systemTime-p_startTime ()

입자의 나이.

(_systemTime-p_startTime ()) / life ()

수명의 비율로 입자의 나이.

float _dt = max (0.0f, min (_dt, float (_endTime-p_startTime ())));

힘을 가하기위한 정확한 시간 델타.

노트 :  ParticleBlinkScript 노드의 커널 작성에 대한 자세한 내용은 Nuke 개발자 안내서.

이미지 입력

입자 입력뿐만 아니라 이미지 입력을 ParticleBlinkScript 노드에 제공하여 이미지를 생성하는 노드에 연결할 수 있습니다. 이것으로 시작하는 이름으로 선언해야합니다 영상_와 함께 랜덤 액세스그렇지 않으면 입자의 반복 공간에서 반복됩니다.

예를 들어, 이미지를 선언하면 image_texture 라는 새로운 입력을 만듭니다 texture.

추가 이미지 입력이있는 ParticleBlinkScript 노드의 예

여분의 이미지 입력은 플로우 맵 또는 높이 맵과 같이 더 많은 데이터를 커널에 전달하는 데 사용될 수 있으며 장면에서의 위치에 따라 입자를 채색하는 등 다양한 목적으로 사용될 수 있습니다.