HOUDINI - DESTRUCTION FX (Study and Translation For English)

2023. 11. 2. 00:43Public/Graphics

One of the things that makes visual effects fun is that you get to blow things up without causing any real damage.

In this lesson, you will light a fuse using particle sparks then explode a cartoon bomb using rigid body dynamics .

for the sheel of the bomb and Pyro FX for the fire and smoke. This lesson will teach you how to set up dynamic simulations using a variety of shelf tools and network nodes.

To give you a complete understanding of the shot being developed, you will build all the elements from scratch, then simulate the effects.

This will help you understand how the simulation nodes work within the wider context of a Houdini scene. In the end, you will render out the shot using the Karma renderer.

 

One of the things that makes visual effects fun is that you get to blow things up without causing any real damage.

시각 효과를 재미있게 만드는 것 중 하나는 실제 손상을 입히지 않고 폭발시키는 것입니다.

caus : 입히다

blow : 강타 구타 , 이번 문장에선 폭발

 

In this lesson, you will light a fuse using particle sparks then explode a cartoon bomb using rigid body dynamics.

이 수업에서는 Particle 스파크를 이용해 퓨즈에 불을 붙인 후 강체 역학을 이용해 만화 폭탄을 터뜨립니다.

light a fuse : 퓨즈에 불을 붙히다.

then : 그러고 나서

 

for the sheel of the bomb and Pyro Fx for the fire and smoke. This lesson will teach you how to set up dynamic simulations using a variety of shelf tools and network nodes.

폭탄의 껍질에 대해서는 Pyro Fx를 사용하고 화재 및 연기에 대해서는 본 수업에서 다양한 shelfTool 및 네트워크 노드를 사용하여 동적 시뮬레이션을 설정하는 방법을 알려드립니다.

sheel : 껍질

variety : 변화, 다양한

 

 

To give you a complete understanding of the shot being developed, you will build all the elements from scartch, then simulate the effects.

개발 중인 샷을 완전히 이해할 수 있도록 모든 요소를 처음부터 구축한 다음 효과를 시뮬레이션합니다.

will : ~ 할 것이다. 할 작정이다 ,하겠다.

being : …되고 있는 중(이다, 이었다)

from scartch : 처음부터

 

This will help you understand how the simulation nodes work within the wider context of a Houdini scene. In the end, you will render out the shot using the Karma renderer.

이렇게 하면 시뮬레이션 노드가 후디니 장면의 넓은 맥락에서 어떻게 작동하는지 이해하는 데 도움이 됩니다. 마지막에는 카르마 렌더러를 사용하여 샷을 렌더링합니다.

within the wider context : 보다 넓은 맥락에서

 

 

ACES | OPENCOLORIO SETUP

For more accurate color display when working with PyroFx, you should use the Academy Color encoding System(ACES). To use it, bring up the Correction Toolbar from the viewport(persp) menu in the scene view. From the arrow button on the right, choose OpenColorIO. This will give you a Display of sRGB and an output of SDR Video - ACES 1.0 This setting only works for your current session and will need to be turned back on each time you open Houdini

PyroFx를 사용할 때 보다 정확한 색 표시를 위해 Academy Color Encoding System(ACES)을 사용해야 합니다. 사용하려면 장면 보기의 뷰포트(persp) 메뉴에서 수정 도구 모음을 불러와 오른쪽 화살표 버튼에서 OpenColorIO를 선택합니다. 그러면 sRGB 디스플레이와 SDR Video - ACES 1.0 출력이 나타납니다. 이 설정은 현재 세션에만 적용되며 Houdini를 열 때마다 다시 켜야 합니다

 

accurate : 정확한

when : 언제,어떤 때에, 어떤 경우에, 할 때에, 할 때  

 

LESSON GOAL

Model then blow up a bomb using particle sparks rigid body dynamics and Pyro FX.

내 예상 : 모델링을 한 후 파티클 스파크와 동적 리지드바디 와 PyroFX를 사용한 폭탄의 폭발

(번역기 : 모델은 입자 스파크를 이용해 폭탄을 폭파합니다. 강체 역학과 파이로 FX.)

 

WHAT YOU WILL LEARN

앞으로의 학습

  • How to model the bomb and animate the fuse
  • How to animate a camera to set up the shot
  • How to set up a particle soot trail and sparks for the fuse
  • How to shatter then explode the bomb geometry
  • How to set up a Pyro FX simulation for the explosion
  • How to set up materials and textures
  • How to render the effects with Karma in the solaris context

 

  • 폭탄 모델링과 퓨즈 애니메이션은 어떻게 하나요?
  • 카메라 애니메이션 촬영을 하려면 어떻게 설정해야 하나요?
  • 퓨즈의 파티클 그을음 흔적 및 스파크 설정 방법이 궁금해요
  • 폭탄 지오메트리를 부수고 폭파시키는 방법이 궁금해요
  • 폭발에 대한 Pyro FX simulation를 설정하는 방법이 궁금해요
  • Material과 Textures 설정 방법이 궁금해요
  • 솔라리스 context에서 카르마를 활용해 이펙트를 렌더링하는 방법이 궁금해요

 

 

soot : 그을음, 매연

shatter : 부수다 분쇄하다 파괴하다 산산조각이 나다

 

 

 

 

PART ONE

Model the Bomb

To craete the bomb geometry, start with a primitive sphere and modify it to define the opening at the top.
This will involve a few poly extrudes and bevels to define the geometry you will need for the final shape. Later in the lesson, you will fracture the bomb.

폭탄 Geometry를 생성하려면 primitive Sphere에서 시작하여 상단에 개구부를 정의하도록 수정합니다.
이것은 최종 형상에 필요한 기하학적 구조를 정의하기 위해 몇 개의 폴리 압출물과 베벨을 포함합니다. 이 수업의 후반부에서, 폭탄을 파괴할 것입니다.

 

modify : 수정하다 , 변경하다

define : 정의하다

involve : 포함하다.

 

 

 

 

 

 

01 

Select File > New Project. Change the Project Name to destruction_lesson and press Accept. This creates a project directory with sub directories for all the files associated with this shot.

Select File > Save As... You should be looking into the new destruction_lesson directory.Set the file name to destruction_01.hip and click Accept to save.

 

02

In the viewport, press c to bring up a radial menu. From this menu, choose Create > Geometry > Sphere. In the viewport, press Enter to place it at the origin. In the Operation Control bar at the top, set Radius to 0.3,0.3,0.3.

 

Press s to get the select tool then 3 to invoke edge selection. Press Spacebar 2 to go to a Top view. Box select the edges at the top and bottom of the circle and press delete. This dissolves the edges and leaves two circular polygons in their place Press Spacebar 1 to go back to a perspective view.

 

bring : 가져오다

 

 

03

Press s to get the select tool then 4 to switch to prmitive(face) selection. Select the circular polygon at the top of the sphere.

Press c to bring up the radial menu and select Model > Polygons > Polyextrude. Move the handle up by a Distance of about 0.075. Set Ouptut front to off.

 

 

Set the Output front to Off

 

 

 

04

Select the circular polygon at the bottom of the sphere and press Delete.

This will add a blast node to the network. Press s to go to the Select tool and 3 to change to edge selection.

Double click on the edge of the hole you just created to select all the edges.

Press tab > Polyfill. In the Parameter pane, set Fill Mode to Quadrilateral Grid and Smooth to 270. This creates a cleaner topology for the bottom of the sphere that doesn't go to a single point.

 

 

 

 

 


To summarize what we've done (step1~step4)

  1. 's' is a shortcut For the SelectTool
  2. 'Spacebar' + '2' is a shortcut For the TopView. and 'Spacebar' + '1' is a shortcut for the perspective view
  3. how to builded a 'opening at the top' is a Delete Top > Expand edge using the Polyextrude
  4. Deleted bottom is fill using the PolyFill. 

 

 

 

SURFACE NORMALS

Every primitive has a normal direction where one side is the inside and one is the outisde. When you polyextrude the bomb geometry it will be inside out at first. This is indicated with the blue color on the faces. You can then use a Reverse node to redirect the normals.

You can see the normals on the surface using the Display Primitive Normals button found in the Display Options bar on the right side of the Scene view pane.

 

 

has : have의 3인칭 단수

 

 

 

 

 

05

Press n to select all Faces and again get the Polyextrude tool. Extrude to a Distance value of around -0.04. In the Parameter pane in the Extrusion tab, turn on Output Back.

Press n to select all Faces and again press tab and start typing Reverse. This node reverse all the polygon normals. Now they are pointing in the right diriection.

 

 

 

06

Press s to go to the Select tool and 3 to change to edge selection. Double lcick on the edge at the top of the bomb and then press Shift and double click to select the inner circle at the top.

Press c to use the radial menu to go to Model > Polygons > PolyBevel. Set Distance to 0.005. Set the Shape to Round and Divisions to 3.

 

 

Bevel : 경사

at : …에, …에서, …에 있어서

 

 

 

 

07

Press s to go to the Select tool. Double click on the edge where the circular part of the bomb meets the extruded section at the top.

Press q to repeat the last tool which was Polybevel and set Distance to 0.01, Shape to Round and Divisions to 3.

 

 

(어려웠던 부분)

where the circular part of the bomb meets the extruded section at the top. 

폭탄의 원형 부분이 상단의 돌출된 부분과 만나는 곳입니다.

 

which : 어떤 ,그리고[그러나] 그 

which was : ~ 이었던

 

 

 

 

 

08

In the Network view, press tab > Transform and add it to the end of the network. Set Translate Y to 0.3 and Rotate X to around 27 degrees.

Add a Null node. Wire the end of the polybevel to the null then set the display flag on the null node to display it. Double click on its name and change it to BOMB_OUT.

Go to the Object level and rename the object to bomb_geo since it holds the bomb's geometry.

 

 

 

 

 

 

 

 


PART TWO

Model the Fuse

 

To create the Fuse, start with a Bezier curve that emerges from the top of the bomb. You can then snake the curve on the ground to create a longer fuse. Reverse the curve direction to get ready for animating the fuse then add a Polywire node to give the fuse thickness.

 

 

 

 

01 

Press spacebar-b to see the bomb from all angles. Move over the Right view and press spacebar-b to expand it.

Press c to bring up the radial menu and choose Create > Geometry > Curve. Click drag up to create the first point and tangent handle for the curve. Next add a point and drag down to quickly draw the curve pointing down.

 

 

 

 

 

02

Press x and choose Grid to turn on grid snapping. Click and drag on the ground to create a third point with its tangent handle aligned along the ground.

 

 

03

Press spacebar-b to go back to 4 views then mouse over the perspective view and press spacebar-b again expand the view.

Turn off Grid snapping then turn on the ConstructionPlane using the second button at the top of the DisplayOptions bar. This will make sure that any edits you make stay on the ground.

 

Draw three new points with their tangents dragged out to define the curve's shape.

MMB-click to complete the curve.

 

 

 

 

04

In the Operation Control bar, change the curve Mode to Select/Edit. Now you can click on the edit points on the curve and make changes to refine the shape of the curve.

Select and edit the points on the ground to get the desired look for the curve. Tumble around to make sure that your curve stays above the ground plane.

 

desired : 바랬던 , 희망했던 

 

 

05

In the Secne View, press tab > Reverse. Press n to select the whole curve and press Enter.

Since the curve was drawn from the bomb out, it will not animate in the direction you need. This will put the start of the curve where the fuse begins.

 

 

06

Turn on the Display Points option in the Display Options bar. Add a Resample node.

On the resample node, set the Maximum Segments Length to 0.025 to add more detail. The resample node evens out the points.

 

 

evens : 평등하게

 

 

 

 

 

07

Add a Polywire node to add thickness to the wire. Set the Wire Radius to 0.0075 and the Divisions to 8.

Between the reverse and polywire nodes, add a Transform node. Go to the polywire node and RMB-click on the Wire Radius parameter and choose Copy Parameter. Now go back to the transform node and RMB-click on Translate Y and choose Paste RelativeReferences.

This will lift the whole fuse up to that it is not halfway under the ground grid.

 

 

 

 

08

Add a Blast node Set Group to 0. This deletes the end of the fuse geometry. Next add a Normal node to the end of the chain.

After the normal node, add a Null node and name it FUSE_OUT.

This gives you a node representing the whole fuse geometry.

Go back up to the object level and rename this object to fuse_geo.

 

 

 

 

 


PART THREE

Animate the Fuse

 

Animate the fuse using a Carve node that lets you control the length of the curve over time. Add a round cap to the fuse that will be used to emit soot and sparks. You need to set up tangents on the curve to ensure that the cap follows along properly. Next add some NULL objects to make it easier to export the cap for use in emitting particles.

 

 

01

Dive back into the fuse_geo object. Between the transform node and the Polywire node add a Carve node.

Drag on the First U slide to see how this affects the curve.

Set First U to 0. Alt click on First U to set a keyframe at frame 1. The parameter box will change color to indicate that it has been keyframed and that there is a key at the current frame.

 

affects : 영향을 주는

 

 

 

02

Go to frame 180. Set First U to 0.999. This will set a keyframe. You can see that the fuse will. Go to frame 200. Set First U to 1.0 This will set another keyframe.

In the bottom left of the Playbar, toggle realtime playback on so that it doesn't play back too fast and press Play.

The fuse now animaties into the bomb geometry where you will set up the explosion.

 

 

 

 

03

Click on the Animation Editor Pane tab. Select the animation curve and click on the Straight button at the top of the panel. This will straighten the curve and the fuse will animate evenly from start to finish instead of speeding up then slowing down at the end.

Go back to the Scene View pane tab and playback the animation to see how this change affects the motion.

Save your work.

 

 

 

04

In the Network View, add a Sphere node and set its Display Flag. Set the following:

  • Radius to 1, 1, 1
  • Center Y to 0.0075
  • Uniform Scale to 0.0075

Press Spacebar-F to focus on it.

  • Orientation to Z Axis
  • Rows to 9 and Columns to 8

In the Scene view, press n to select all then tab > Clip node and set its DIrection to 0,0,-1

 

 

 

05

Tumble around and press s to get the select tool and 4 to get face/primitive selection. Select one of the triangles at the tip of the sphere then press and hold the a key and then middle click two triangles over to select all the triangular faces Press the Delete key to remove them. This adds a blast node to the network.

Press 3 to go bring up edge selection then double click on the edge of the area you just blasted. Press tab > polyfill which places the node after the blast. Set Fill mode to Quadrillateral Grid then turn on its Display flag. Set Smooth to 100 and Tangent Strength to 0. This will create quad topology at the tip of the sphere

 

 

tip : 끝 , (칼집·양산·단장 등의) 끝, 물미

 

 

06

Add a Copy to Points node into the network. Feed the polyfill node from the sphere into the first input and the carve node into the second input. Set Target Points to 0.

Add a Merge node. Feed the blast node and the copytopoints node into it then wire it into the normal node.

The cap it positioned properly at the end of the curve but it isn't oriented correctly. You need to add normals to the curve to allow for proper alignment.

Although not in the book, the video tutorial adjusted the y value by changing the CneterY of "sphere1" back to zero.

 

 

 

07

Add a Orientation Along Curve node between the reverse and the carve nodes. Under Output Attributes turn off the YAxis option. Leave Tangent(Z axis) set to N. This adds normals to the curve that will align the end cap as it moves along the fuse.

 

 

08

Add a Color node after the polyfill node and set the Color to yellow. Add another Color node after the fuse's blast node and set its Color to Dark Gray. These colors will be helpful for visualizing the fuse as you work and can alos be used to affect the materials being assigned later.

 

 

 

09

Branch off a Null node after the copytopoints node and place it to the side. Name the null node CAP_OUT. You will use this later to extract the cap into another network that you will reference to emit particles. Set its Display Flag to see only the half sphere. You can scrub the Playbar to see it move with the carve.

When you are finished, set the Display Flag back to the FUSE_OUT null.

 

 

 


PART FOUR

Create an Animated Camera

 

As you develop this shot further, it would be helpful to have a camera set up to frame the final shot. This camera rig will be built by constraining a null object to a curve then using an aim constraint to point the camera to the null object. This will give you a camera that follows the end of the fuse to make it easier to evaluate the particles as they are being emitted.

 

further : 더 멀리, 더 나아가서, 한층 더

would : ~ 일 것이다 , ~ 하겠다.

constraining : 억누르다 , 억제하다

evaluate : 평가하다 , 값을 구하다. 

 

 

01

Dolly out to see the whole scene from above. Make sure the construction plane is on. Press c to bring up the radial menu and choose Create > Geometry > Curve. Click-drag a point near the start of the fuse and drag forward to extend the tangent.

 

Next. click-drag a second point behind the bomb and drag to pull out the tangent to create an s shaped curve. MMB-click to finish and use Select/Edit mode if you want to tweak the shape.

 

 

 

 

 

 

 

 

02

On the Curve node, turn on the Z Axis option and set it to N. This will create normals that will assist with animation along the curve.

 

 

 

 

 

 

03

Add a Null object at the origin. Rename this node camera_lookat_null. From the Constraints shelf, click on the Follow Path tool. This accepts the null as the starting object.

Select the curve as the path object then press Enter. Press Enter twice more since you don't need a look-at object or a look-up object.

Now if you scrub in the timeline, you can see that the null object is moving along the Path from the first frame to the end frame at an even pace.

 

 

 

 

 

04

A constraint network was added to the null object and a path node is created. Go to frame 1. With the Path node selected, RMB click on the Position parameter and choose Delete Channels to remove the expression that is animating the null along the path. Set Position to 0. Alt click on Position to set a keyframe.

Go to frame 195 and set Position to 1. Alt-click on Position to set a second keyframe.

Click on the Animation Editor tab and press h to see the whole curve. Select it and press the Straight button to make it linear. Grab the tangent on the second point and adjust to smooth out the end.

 

 

 

 

 

 

05

In the Network view, press tab > Camera and press Enter then click to place it at the origin. Now use the Move tool to move it in front of the fuse and a bit to the right. Next move it up along the Y axis to raise it from the ground by about 0.75 units.

 

 

 

 

 

 

 

 

 

06

From the Constraint shelf, click on the Look At tool. This will use the selected Camera as the look at object. Select the null object as the look at object and press Enter. Press Enter again to not assign anything as the look up object.

Now the camera is looking at the Null object. From the Camera menu, select cam1 to look through this camera.

 

 

 

 

 

 

 

 

07

Go to Frame1. Select the camera and make sure the Handle tool is active. This brings up a camera handle which you can use to reposition the camera to have a better view of the fuse's starting point.

Go to Frame 195. Use the same handles to reposition the camera to make sure the bomb in nicely positioned in the frame.

you may need to scrub back and forth to tweak the camera to work properly throughout the sequence. Make sure you can see the fuse throughout the whole sequence.

 

 

make sure to ~ : "반드시 ~하다" , "확인하다"

 

 

 

 

08

Go to the object level and select the curve, camera_lookat_null object and cam1 node and align them then put them into a network box. Double click on the box's title bar and name the box Camera Rig. Turn off the display of all the parts so that you don't see them in the scene view as you work. You can collapse this box if you wnat or keep it open if you want to work with it further.

 

Save your scene.

 

 

How to Create a Network Box ?

 

 

 

 

 

 


CONSTRAINTS

To get the null object to follow the path and then to get the camera to look at the path,

you used animation constraints found on the Constraints shelf. The are accomplished using a special node type called Channel Operators or CHOPS. You can find these nodes inside the null and camera nodes. You can use these to control how the con-straints work. 

Another way to work with CHOP nodes is to use the Motion FX menu that you find when you RMB-click on any paratmer.


 

 

 

 

 

 

 

 

 

 

 

 

 

PART FIVE

Create a Soot Trail

 

To create a soot trail, use the end cap to emit a trail of particles. Learn how to emit these points properly and how to add forces such as gravity to control the motion of the particles. Learn how to set up collisions where the particles either stick to the ground or slide off the bomb surface.

 

 

 

01

Dive back into the fuse_geo object node. With the display flag on CAP_OUT, go to the Modify shelf and use the Extract tool. Press n to select all the faces then press Enter to create a new object with the Cap being imported using an Object Merge node. Go up to the object level and name this object soot_trail.

Go back to the fuse_geo object and set the display flag to FUSE_OUT. Now you will see the combined fuse geometry when you render and the new object will be used to generate particles.

 

    

 

 

02

Dive into the soot_trail node and adda a POP network node to the end of the chain. Dive in and on the Source First input node, set Const Birth Rate to 1000. Press Play. You can see particles being emitted but they aren't doing anything.

Go back up one level and on the Simulation tab, set Substeps to 3. Press Play. You can see particles being emitted more evenly.

 

being : …되고 있는 중(이다, 이었다) ((수동의 진행형))

emitted : 방사 , 방출

 

 

 

 

 

03

Alt-Drag on the object_merge node to make a second copy. Set Object 1 to the fuse_geo>resample node. You are going to use this curve to transfer velocity onto the cap.

Now add a Orient Along Curve node and under Output Attributes turn on Tangent (Z Axis) and set it to v.

Add an Attribute Transfer node between the original object_merge and the popnet node. Turn off the Primitives checkbox and set Points to v.

 

 

04

Place an Attribute Adjust Vector node in between the attributetransfer and the popnet. Under Adjustment value set the following:

  • Adjustment for to Direction Only
  • Adjust with to Noise
  • Range Values to Zero Centered
  • Amplitude to 0.5

Under Noise Pattern set Element Size to 0.025 and under Post Porcess, turn on Enable Post-Process. Press Play to test.

 

 

 

05

Dive back into the popnet and add a gravity Force node under the popsolver. Now if you play the simulation the particles fall below the ground.

 

 

06

Go Back up to the Object level and create a grid. Set size to 30, 30 and Rows and Columns to 31, 31.

Rename this to ground. Go back into the popnet and add a Pop Collision Detect node after the source_first_input node. Set the SOP path to the obj/ground/grid1. On the Behavior tab, set Response to Stick. Keep Color Hits set to Red.

Add another Pop collision Detect node. Set the SOP to the bomb_geo geometry object. Set Response to Slide. Change Color Hits to Green. Press Play.

 

        

 

 

 

 

 

 

 

07

Right now the particles will be emitted throughout the whole sequence. You need them to stop them just as the bomb explodes. Add a POP Kill node after the wire_pops_into_here merge node. Go to frame 1. Set Activation to $F>199. This will kill the particles at frame 200.

Now under the Rule tab, turn on Enable. Press Play to test.

 

 

 

 

 

08

Jump back up to the geometry context and wire the popnet into an attribute create node. Set Name to pscale and Value to 0.001.

Add a Color SOP and set the Color to dark grey.

Add a null to the end of the chain and name it SOOT_OUT.

 

 

 

 

 

 


PARTICLE FX

The soot trail is created using particle dynamics. Particles are points that you can affect using forces such as wind or gravity. Starting with the end of the fuse, you give birth to points that are then simulated using a number of different techniques.

Particles are simulated using the Dynamics or DOPS section of Houdini then brought back into SOPS where you can work with them as geometry. In the next section, you will use particles to create sparks at the end of the fuse.


 

 

 

 

 

 

 

 

 

 

 

 

PART SIX

Create particles Sparks

 

To create sparks, start by copying the soot particle object and make changes to the new object to generate sparks. These par-ticles will have shorter lifespan and will be more active. The Spark Trail node will give you the look you need to add sparks to the shot. You can adjust parameters on this node to get the look you need.

 

 

 

01

Go to frame 1 then navigate to the Object level. Hide the Ground object. Alt-drag on the soot_trail object to make a copy. Name the copy sparks.

This new object already has a popnet and can be modifield to generate the spark particle simulation. In Houdini, it is often a good idea to re-use a network you already have as opposed to building everything from scratch.

 

 

 

 

 

02

Dive into the sparks object. You will make a few changes to get the network set up to create sparks.

Delete the attributecreate and color nodes. These are not needed for this particle network. Rename the null node to SPARKS_OUT. On the attributeadjustvector node change Amplitude to 1.75.

Add a new Attribute Adjust Vector node above this one. Turn on Enable Pre-Process and set Constant Value to 0, 1, 0. Now the particles will rise up before dropping down. Press Play.

 

 

 

 

 

 

 

 

 

 

 

 

03

Got Frame 1. Add an Attribute Adjust Float node just before the popnet node. Set the following:

  • Attribute Name to life
  • Unit Settings to Duration
  • Pattern Type to Random
  • Min Value to 2 and Max Value to 4
  • Under Random, set Seed to $F

 


SPARKS | PARTICLE TRAIL

The Particle Trail SOP takes an animated particle system and generates motion trails from its particles. These trails can be used for various effects such as sparks, fireworks, and rain.

This node also allows you to control the look of the trails. This enables you to fine-tune their look in the SOP context, without the need to render the points with large amount of motion blur.

 


 

 

 

04

Dive into the popnet and delete the two collisiondetect nodes. You will not need to worry about collisions at this point. You will add other nodes back later when needed. Press Play to see the particles being emitted.

 

 

 

 

 

05

Go back up to the Geometry level. Go to frame 1.

In the Network view, press tab > Spark Trail. After a short delay, this will put down two nodes - a timeblend and a sparktrail node. Wire the popnet into the timeblend node and the sparktrail into the SPARKS_OUT null.

Press Play. You will see sparks but they will be lagging behind by the end of the fuse.

 

 

 

 

 

 

 

06

Add a Time Shift node after the object_merge which brings in the cap and the attributetransfer node. Click on the Frame parameter name to see the expression being used.

Change it to $FF + 1

This will move the cap forward a frame but at the same time align the sparks with the end of the fuse. Press Play to test.

 

 

 

07

Go to frame 1. Select the sparktrail node. Click on the Split tab and turn on the Enable Split checkbox. Set Percent to Split to 40.

Under Shape, set Splits per Point to 4.

Press Play to test.

 

 

 

 

08

Go to fraem 1. Jump up to the Object leve.

Set the camera to cam1 and press the Flipbook button on the bottom of the toolbar. Click Start on the window that popsup. This will create an animated sequence of the scene view that you can use to evaluate the motion of you particles.

Make sure the Realtime toggle is on and playback the flipbook to see how the shot is progressing.

 

 

 

 

 

 

 

 

 

 

 

 

PART SEVEN

Blow up the Bomb

 

For the bomb geometry, a rigid body dynamics simulation will be needed. Start by fracturing the geometry then adding attributes that will create an explosion. You can then control the speed of the moving parts to art direct the look. Once the simulation is ready, you will cache out the geometry to work more efficiently as you move on the PyroFX stage.

 

 

01

Hide the fuse_geo, soot_trail, and sparks objects. Press Spacebar-G go focus on the bomb geometry. Go to Frame1 in the Playbar. Press Spacebar G to focuse on the bomb.

Select the bomb_geo object and from the Simple Fx shelf, select Simple Fracture. When asked to Select Collision Object just press Enter with nothing selected. It will then take a short time to set up this network. This object merges out the bomb geometry and sets up nodes for fracturing and simulating.

 

 

 

 

 

 

02

On the fracture_solver node, set Start Frame to 200. Now set the start frame in the Playbar to 200. Click the First Frame button to go to frame 200. You will only need to simulate the explosion from frame 200 to 240.

 

On the fracture_solver node go to the Collision tab in the Ground Collision section, set Ground Type to Ground Plane. Click on the Advanced tab then in the Constraints > Glue section, remove the word Glue from the Data Name field.

Press Play to watch the bomb fall apart. Now you want to add a starting velocity to explode the parts.

 

 

 

 

 

 

 

 

03

Go to Frame 200. Add an Attribute Adjust Vector node and place it to the right of the other nodes. Wire the third output of the rbd_configure node into the attributeadjustvector node then wire the attriuteadjustvector node into the third input of the fracture_solver node.

 

Set the following on this node:

  • Turn on Enable Pre-Process
  • Turn on Overwrite initial Value
  • initial Vector to 0, 1, 0

 

 

 

04

Under Adjustment Value, set the following:

  • Adjustment for to Direction Only
  • Operation to Spread
  • Adjust with to Noise
  • Spread Angle Min to 15
  • Spread Angle Max to 120

Under Noise Pattern set Element Size to 0.5.

Under Post-Process turn on Post Process then turn on Length Scale and set it to 20.

 

 

 

 

05

Press Play. Now you have the bomb exploding. Setting velocity attributes on the geometry feeds into the simulation which uses the initial velocity of the pieces to propel them forward.

The manipulation of attributes plays a bit role in many visual effects setups in Houdini

 

 

 

06

Select the rbdconfigure node. Open up the Speed Limit section and turn on the Speed Max and Spin Max parameters. Set Speed Max to 2 and Spin Max to 30. Press Play. The simulation slows down a lot from its original Speeds.

Now set Speed Max to 10and Spin Max to 60. Press Play.

 

 

 

07

Select the rbdmaterialfracture node and under Cell Points set Scatter Points to 25. Press Play. Now you have a lot more pieces.

Go back to the attributeadjustvector node and set Length Scale to 50 and Initial Vector to 0, 5, 0. Press Play

 

 

 

 

 

08

Go to fraem 200, On the fracture_io node, set Base Name to exploding_bomb and Base Foldoer to $HIP/geo/bomb. Click Save to Disk which will then turn on Load From Disk. Press Play to preview the cached geometry.

 

 

 

09

Add a Null node and wire the first output of the fracture_io node into it. Rename this node EXPLODING_BOMB_OUT.

 

 

 

 

 

 

 


PART EIGHT

Create the PyroFX Explosion

 

As the bomb explodes there needs to be an accompanying fireball. You will start with a Simple Fireball that works on the GPU then make changes to craete a look that works for the shot. You can also incorporate the parts of the exploding bomb to push and influence the PyroFX volume in interesting ways.

 

 

 

01

Go to the Object level. From the Simple FX. shelf, click on Simple Fireball. In the Scene view. press Enter to place it at the origin. This creates serveral nodes inside a fireball object.

Set the Display Flag on the pyroburstsource node and on the Burst Aniamtion tab, set Start Frame to 200,. Go to frame 200. This node represents the initial blast of the explosion.

From the Quick Setup menu, choose Single Input Point. This adds a single point. Use the transform handle to raise it up to around 0.3 which is the middle of the bomb geometry.

 

 

 

 

 

02

On the pyrosolver_fireball node, change Start Frame to 200. Set Simulation Type to Minimal OpenCL to simulate using your GPU.

Under the Sourcing tab, open the Limit source Range option and set the Frame Range to 200, 240. Turn off Cycle Length.

Set the Display Flag on the RENDER_Simple_Fireball null node. Zoom out to see more of the scene then press Play to test the simulation. The Fireball is very big. Zoom out to see the whole explosion.

 

 

 

 

03

Go to frame 200. On the pyroburstsource node go to the Burst Shape tab and set Initial Size to 0.35 and Spread Angle to 180.

Now go to the fireball Pyro solver node and click on the Bound tab and set Size to 15,12,12 and Center to 0,4,0. This will make a smaller box which will fit better on the GPU. On the Setup tab, set the Voxel Size to 0.035 - this will add more detail to this smaller simulation.

Press Play to test the simulation. Now the explosion fits better in this scene.

 

 

 

 

04

The next step is to integrate the Pyro FX with the exploding bomb. Add a File node and load the $HIP/geo/bomb/exploding_bomb.$F.bgeo.sc geometry sequence from disk.

Wire this node into the second input of the fireball Pyro Solver node.

Press Play to test the simulation. the collision geometry isn't having an effect because it hasn't been prepared properly.

 

 

 

 

 

05

Go to frame 200. Select the fireball node. From the Quick Settings menu in the top right, choose Setup SDF Collision. This adds a vdbfrompolygons node. This node gets it's Voxel Size from the Pyro Solver node.

Add an RBD Unpack node between the file and vdbfrompolygons nodes.

Add an Unpack node between the rbdunpack and vdbfrompolygons nodes. On the unpack node, set Transfer Velocity to v. Set the Display Flag on vdbfrompolygons then press Play to see the collision geometry.

 

 

 

 

 

06

Between unpack and vdbfrompolygons, add a Peak node to make pieces bigger. Set Distance to 0.1. Between the peak node and the vdbfrompolygons node, add a Attribute Adjust Vector node. Turn off Adjust Value and turn on Enable Post Process then turn on Length Scale and set it to 2.

Set the Display flag back to the fireball node. From the Collision tab, open the Limit Collision Range section and set Range Type to Frame Range and Frame Range to 200, 240. Turn off Cycle Length. Press Play to test the simulation. The exploding bomb is now colliding with and influencing the Pyro FX Simulation.

 

 

 

 

 

 

07

Between the fireball Pyro solver node and the pyrolook node, insert a Pyro PostProcess node. Turn on the Convert to VDB and the Convert to 16bit Float checkboxes. Next turn on the Cull Volume and Resample Volumes options and leave them both set to vel.

This node will make your volume more efficient and save you disk space when you cache your volume.

 

 

 

 

 

 

08

On the fireball Pyro solver node click on Quick Setups and choose Cache Simulation. Move the node to the side then wire the pyropostprocess node into the sim_fireball cache node then wire the cache node into the pyrolook node. Set Base Folder to $HIP/geo/pyrosim/ then click Save to Disk.

Now with the Load from Disk option set to on, you can scrub in the Playbar to see the PyroFX Explosion.

 

 

 

 

 

09

Set the Display Flag on the pyrolook node. This is the Pyro Bake Volume node that can be used to visualize the simulation in the Scene View. It is designed to provide a similar interface to the Pyro Shader you will use later when rendering.

Under the Smoke tab, darken the Smoke Color then under the Scatter tab set Intensity Scale to 2500. Make other adjustments to get a look that you like for your simulation.

 

 

 

 

 

 

PART EIGHT

Export the Geometry to USD

 

Create the PyroFX Explosion

 

As the bomb explodes there needs to be an accompanying fireball. You will start with a Simple Fireball that works on the GPU then make changes to craete a look that works for the shot. You can also incorporate the parts of the exploding bomb to push and influence the PyroFX volume in interesting ways.

 

 

 


usinged nodes

 

 

disollve(when the first time , delete bottom of the circle) 


PolyExtrude
(Extruding Primitive)

 

Reverse(reverse..........)

 

PolyBevel(Bevel : 경사) 

 

Resample : evens out the points. .... ex)I feel like I'm adjusting the resolution

 

carve
The Carve op works with any face or surface type, be that polygon, Bezier, or NURBS. It can be used to slice a primitive, cut it into multiple sections, or extract points or cross-sections from it.

 

clip
Specify the plane in which you would like the object to be clipped by moving the clip handle or clicking RMB on the handle and choosing an axis in the align handle menu. This tool automatically clips half of the object. Moving the clip handle allows you to change how much of the object gets clipped.

 

polyFill
Fills holes with polygonal patches.
1. Select at least one edge in each hole you want to fill.
2. click poly fill tool on the polygon tab 

 

 

Peak

 

Peak node to make pieces bigger.

The Peak operation translates primitives, points, edges or breakpoints along each of their normals. If no group is specified, all the points are translated along their normals.

When using primitives, the points are translated along the average normal of their primitives. This differs from translating along the points' normal because only primitives specified in the group are considered and the points normal attributes is ignored.

피크 연산은 프리미티브,점,에지 또는 중단점을 각각의 정규 분포를 따라 변환합니다. 그룹을 지정하지 않으면 모든 점이 정규 분포를 따라 변환됩니다.

프리미티브를 사용할 때, 점들은 그들의 프리미티브들의 평균적인 법선을 따라 번역됩니다. 이것은 그룹에 지정된 프리미티브들만 고려되고 점들의 법선을 따라 번역되는 것과 다릅니다.

 

 

 

FileCache

Caches (writes out once and then reads from) geometry (possibly animated) to disk.

This node combines the functionality of the Geometry render node and the File node to let you write out cache files and then read those files on disk instead of cooking its input.This node combines the functionality of the Geometry render node and the File node to let you write out cache files and then read those files on disk instead of cooking its input.
For example, you might have a slow section of your geometry network that spends a lot of time breaking simulating the shattering of a model, looping over the pieces, replacing proxy pieces with hi-res geometry, and so on. After that section, you can add a File Cache node to render out the geometry at that point in the network to disk. Then you can switch the Cache File node to “Load from Disk” mode, and from then on the File Cache node will read the geometry from the cached files (as needed) instead of cooking the slow part of the network.
This node has advanced controls for how the files are saved, and what is loaded back from the cache. It also has rudimentary support for caching multiple variations

이 노드는 지오메트리 렌더 노드와 파일 노드의 기능을 결합하여 캐시 파일을 작성한 다음 입력을 조리하는 대신 디스크에서 해당 파일을 읽을 수 있습니다.
예를 들어, 기하학 네트워크의 느린 구간이 있을 수 있는데, 이 구간 이후에 모델의 분산을 시뮬레이션하고 조각들을 반복하며 프록시 조각을 고해상도 기하학적 구조로 교체하는 등의 작업에 많은 시간이 소요됩니다. 이 구간을 마치면 파일 캐시 노드를 추가하여 네트워크의 해당 지점에 있는 기하학적 구조를 디스크로 렌더링할 수 있습니다. 그런 다음 캐시 파일 노드를 "디스크에서 로드" 모드로 전환하면 파일 캐시 노드는 네트워크의 느린 부분을 요리하는 대신 필요에 따라 캐시된 파일에서 기하학적 구조를 읽게 됩니다.
이 노드는 파일을 저장하는 방법과 캐시에서 다시 로드하는 것에 대한 고급 제어 기능을 가지고 있습니다. 또한 여러 가지 변형을 캐싱하기 위한 기본적인 지원 기능도 가지고 있습니다

 

 

 

 

 

 

 

 

Orientation Along Curve(원곡선에 따른 방향)
Computes orientations (frames) along curves.

Orientation : 고정된 상황에서의 방위, 방향에는 orientation

Along : ~을 따라서

점들의 normal을 Display하면 이렇게 보인다.
orient along curve를 bypass한 모습. 점들에 normal이 없는것 같다.

 

 

 

Constraints shelf / Follow Path(path)

How to use

1.Choose an object to move
2.Click 'Follow Path'
3.Select an object to follow

4. Press Enter twice more since you don't need a look-at object or a look-up object.

Done.

 

 

 

Constraints shelf / Look At

How to use

1.Select a target object

2.Click 'Look At'

3.Select an object to look at

4.Press Enter twice more since you don't need a look-at object or a look-up object.

Done.

 

 

 

 

Modify shelf / Extract

This tool is useful for extracting geometry so you can apply light and rendering separately. For example, windows on a skyscraper.

 

How to use

1. Select a target object. 

2. Click 'Modify/Extract'

3. Select all the target object face (Press n)

4. Press Enter. 

Done

 

 

AttributeTransfer (속성 전송)

참고링크1

참고링크2

(L)Input1 : trying to receive

(R)Input2 : trying to send

 

 

 

AttributeAdjustVector (속성 벡터 조정)

The Attribute Adjust Vector SOP provides an interface to vary vector type attribute values, reducing the need to create VOP networks or write VEX code. It allows modification to the direction, length or both of these components by a uniform value or a varying value for each element. The varying values can be generated fully randomly or sampled from a spatially-coherent noise pattern.

This node can also initialize a vector value if the attribute does not exists (specified by Attribute Name). Additionally, this node can post-process the values, for example by blending them with another attribute or limiting them to the specified length.

The following graph provides a basic schematic view of the processes behind Attribute Adjust Float.

출처 : https://www.sidefx.com/docs/houdini/nodes/sop/attribadjustvector.html

 

 

 

 

 

 

 

 

Gravity Force

Go HOUDINI DOCS

 

 

RBD Unpack

RBD setups can be packed into a single geometry using an RBD Pack SOP. The RBD Unpack SOP undoes this operation.

Go HOUDINI DOCS

 

 

 

 

Unpack

This SOP takes packed primitives as input and unpacks them so they can be modified by Houdini.

Packed primitives have an opaque representation and cannot be modified by SOPs, with the exception of simple transforms. Some packed primitives (Alembic) can represent deforming gemoetry. However, to allow SOPs to apply deformations, the packed primitives need to be unpacked.

This SOP does not pass through non-packed primitives, unless they are excluded from the group parameter.

 

이 SOP는 포장된 프리미티브를 입력으로 받아 후디니가 수정할 수 있도록 포장을 해제합니다.

패킹된 프리미티브는 불투명한 표현을 가지며 단순 변환을 제외하고 SOP에 의해 수정될 수 없습니다. 일부 패킹된 프리미티브(알렘빅)는 변형 기하학을 나타낼 수 있습니다. 그러나 SOP가 변형을 적용할 수 있도록 하려면 패킹된 프리미티브를 언팩해야 합니다.

이 SOP는 그룹 파라미터에서 제외되지 않는 한 포장되지 않은 프리미티브를 통과하지 않습니다.

Go HUDINI DOCS

 

 

 

 

 

 

Spark Trail (Particle Trail)

Go HOUDINI Docs

 

Generates trails from the incoming particles that can be used to render sparks, fireworks, and rain.

 

 

 

 

 

 

 

Simple FX / SimpleFracture

 

 

Go HOUDINI Docs

This tool lets you pick a piece of geometry and configure it as a fractured material simulated with Bullet RBD. Rather than building a DOP network, it uses the SOP-level tools to build a simple network to work with the RBDs. When multiple names are found on the selected geometry, an additional RBD Constraints From Rules node will be created to constrain the pieces together prior to fracturing. A RBD Constraint Properties SOP will also be added to the chain to allow configuring these connector constraints.

 

 

 

 

VDB From Polygons

Converts polygonal surfaces and/or surface attributes into VDB volume primitives.

다각형 표면 또는 표면 특성을 VDB 볼륨 프리미티브로 변환합니다.

Go HOUDINI Docs

 

 

 

 

 

 

Simple FX / SimpleFireball

This shelf tool sets up a sparse pyro simulation of a medium-sizie explosion. Rather then building a DOP network, it uses the SOP-level tools to build a simple network to work with sparse pyro.

The explosion consists of an initial blast, followed by a rising fireball. As long as there are sufficient reactants (corresponding to the emissive flame field). the fireball will continuously emit soot and heat and continue to expand. 

hese various outputs, as well as the time it takes the fireball to burn up, are controlled through parameters on the Flames tab of the Pyro solver.

 

 

 

 

 

PyroSolver(DOP network controller???)

 

 

Pyro Post Process

 

The Pyro Post-Process node provides common post-processing operations for Pyro solvers. It can also bake flame values into the density map to ensure Mantra picks up purely emissive regions.

Pyro Post Process 노드는 PyroSolver에 대한 ㅇ리반적인 후처리 작업을 제공합니다.

또한 화염 값을 density map에 굽어 만트라가 순수하게 방출되는 영역을 선택할 수 있도록 할 수 있습니다.

Docs

 

 

 

 

 

 

--DOP-- (추후에 한꺼번에 작성?)

PopNetwork(DOP Network)

Pop Collision Detect 

PopKill

-------

AttributeCreate

AttributeAdjustFloat

 

 

 

ObjectMerge

Transform

PolyWire

Normal

Blast

CopyToPoints

Merge

 

 

'Public > Graphics' 카테고리의 다른 글

Houdini - Wine Crash  (0) 2023.09.17
CustomRenderFeature(Blur)  (0) 2023.09.14
[Geometry Node] Subdivide(세분화)  (0) 2023.09.02
[Node] Attribute Create[geometry]  (0) 2023.09.01
[Node]Platonic Solides  (0) 2023.09.01