top of page

Falling Dominos

First, I created a cube and made it the correct scale of a domino.

Screenshot_7.png

Then, I clicked "Edit, Duplicate Special" and changed the Z value to 3 and the number of copies to 40.

Screenshot_8.png

After that, I added a plane a made change the scale and position to make it the ground plane.

Screenshot_9.png

Next, I selected all of the dominos and added an active ridged body. I set the body type to "Dynamic Ridged Body". I also set the collider shape to box and the collider shape margin to 0.001.

Screenshot_10.png

Then, I did the same for the plane. However, I set the body type to "Static Body" and the collider shape type to "Mesh".

Screenshot_11.png

Then, I did the same for the plane. However, I set the body type to "Static Body" and the collider shape type to "Mesh".

Screenshot_11.png

After that, I selected the bulletSolver and change to gravity from -9.8 to -980 to correct the scaling issue. I also changed the Internal Fixed Frame Rate to 240Hz.

Screenshot_12.png

Finally, I selected the first domino and changed the initial velocity to 10.

Screenshot_13.png

Final Video

Jenga Tower

First, I created a Jenga Tower using cubes.

Next, I deleted some of the blocks.

Screenshot_14.png

Then, I added an Active Ridged Body to the blocks. I changed the collider shape margin to 0.01.

After that, I selected the bulletSolver and change to gravity from -9.8 to -98 to correct the scaling issue. I also changed the Internal Fixed Frame Rate to 240Hz.

Screenshot_16.png

Next, I selected one of the blocks and changed the initial velocity to -100.

Screenshot_17.png

Finally, I baked the simulation by selecting all of the blocks and then clicking "Bake Simulation".

Screenshot_17.png

Final Video

Ball Hitting Jenga Tower

First, I opened the previous scene but I stopped the block from moving out at the start.

Screenshot_18.png

I then created a sphere and added an Active Ridged Body and set the Body Type to "Kinematic Rigid Body". I then animated the ball moving into the Jenga Tower.

Finally, I made it so when the ball has hit the Jenga Tower it reacts to physics with all of the blocks. I did this by keyframing the body type to switch from "Kinematic" to "Dynamic".

Final Video

Flag Simulation

First, I 3D modelled a flag and flag pole. I made sure to add lots of subdivisions to them to get a more accurate simulation.

Next, I attached the flag to the flag pole by selecting the top two point of the flag and then the flag pole. Then I added a point to surface constraint. I also did the same for the bottom of the flag.

Finally, I selected the nucleus and increase the wind speed to 9. I also set the wind noise to 1 to give it more variation.

Final Video

Skirt Simulation

First, I opened the file that was provided to me. This was an animated character walking.

Screenshot_8.png

Next, I added a cylinder and made it the correct size and position of the skirt. I also removed the top and bottom faces.

Screenshot_9.png

I then added a lattice deformer to change the shape of it to a skirt shape.

After that, I connected the skirt to the character by selecting the top row of pixels and then the character. Then I added a point to surface constraint. However, the skirt did not collide with the character.

To fix this, I selected the character and then clicked "collide".

Screenshot_10.png

Next, I changed the scene scale to 0.1 because all of the objects were too large and were not simulating correctly.

Finally, I changed the preset to

"t-shirt".

Final Video

Tear Simulation

First, I created a 3D model using a plane and a torus.

Screenshot_13.png

Next, I added a nCloth to the plane and attached the edges to the torus using a point to surface constraint.

Next, I added nParticles and changed the create options to balls. Then I moved it above the plane. I also set the mass to 10.

Finally, I created a tear by selecting the point that I wanted then clicked "nConstraint/Tearable Surface".

Final Video

Pressure Simulation

First, I created a sphere and moved it up.

Screenshot_14.png

I then selected the sphere and set the pressure to 2. I also selected the nucleus and enabled the ground plane.

Screenshot_16.png

Final Video

Particle Trail

First, I created a sphere and moved it to one side. Then I grouped it. I then animated the group so it rotated and moved up.

Screenshot_1.png

Next, I added an object emitter to the ball. I also set the emitter type to geometry and changed the rate to 1000. I also turned off gravity.

After that, I added a volume axis field. I changed away from center to 0. I also changed the Turbulence to 1, the Turbulence Freq to 5 and the Detail Turbulence to 1. This made the particles move around randomly.

Screenshot_2.png

Then, I changed the Lifespan to 4 and made them shrink over time. I also went into the dynamic properties and changed the Damp setting to 0.15. I increased the rate to 10000 and set the scale to 0.025.

Screenshot_5.png

Finally, I made the colours change over time.

Screenshot_4.png

Final Video

Particle Trail

First, I created an NParticle emitter and moved it up. I then went into the nucleus settings and added a ground plane. 

Screenshot_6.png

Next, I created a cube and made it the scale I wanted. I then clicked "NParticles/Instancer". This turned all of the particles into cubes.

Finally, I turned on rotation in the particle settings. I then went into the instancer settings and changed the rotation to "rotationPP".

Final Video

Pouring Balls Into A Bowl

First, I 3D modelled a cup and a bowl. I also made a cylinder and made it the same size as the inside of the cup.

Screenshot_7.png

Next, I selected the cylinder in the cup clicked "nParticles/Fill Objects". To make the ball collide with the cup, I selected the cup and then clicked "nCloth/Create Passive Collider".

I then animated the cup to pour the balls into the bowl.

To stop the balls from flying out of the top when the cup moved. I went into the particle dynamic properties and set "Damp" to 0.003.

Final Video

Camera Rig

First, I created 6 locators and named them. I then parented them in this order with a camera at the bottom.

Screenshot_1.png

Using the camera rig

Lighting and materials

First, I created 5 spheres and a plane. I then extruded the plane up and bevelled it to make a curved backdrop.

Screenshot_2.png

Next, I added an aiSkydomb and added a HDRI to it.

Screenshot_3.png

Finally, I added different materials to everything. For the backdrop, I made it grey and set the roughness to 0.5. For the first ball, I set the metalness to 1 and increased the roughness. For the second ball, I set the colour to blue and set the roughness to 0.4. I set clearcoat to 1 and set the clearcoat roughness to 0.1. This made a carpaint material. For the third ball, I left

Screenshot_4.png

everything on the default settings. For the fourth ball, I set Subsurface Scattering to 1. I then set the Subsurface Colour to skin colour. I also set the radius to an orange colour and set the scale to 0.1. For the last ball set Transmission to 1 and set the colour to red.

Final Image

Studio Lighting.png

Render Layers

To create a render layer to remove an object I added a layer and added a collection to that layer. I then added all of the balls to the collection, but not the floor.

To create a render layer to change the material of an object I added a layer and added a collection to that layer. I then added all of the objects to the collection. Next, I added a material override to the collection and set the material to an aiStandardSurface and set the colour to blue.

Final Video

AOV's

To create AOV's I had to go into the AOV's tab on the render settings. I then added lots of different AOV's which allowed me to separate different parts of the image.

To create a custom AOV you need to click "Add Custom" and then add a name. You then need to click "Select AOV Node". I changed the material to an Ambient Occlusion Shader.

To combine the different AOV's you need to turn on Merge AOV's when you render it. Then you can import the import into nuke and connected them to a shuffle node to extract the different AOV's. Then you can merge them together. Another way is if you don't turn on Merge AOV's then it will create an image for each AOV. You can then import all of them into nuke and merge them together.

Screenshot_6.png

Smoke

First, I created a 3D Container and moved it up to the grid. I then set the emitter to volume and moved it up. I then set the turbulence to 7.

Next, I changed the base resolution to 50 to make the smoke more detailed. I also changed the Y scale to 20 to make it taller. It is important to use these values instead of just using the scale tool as it won't affect the resolution.

After that, I deleted the emitter and added a sphere. I then used the scale tool to change the shape of it. Then, I selected the sphere and then the 3D container and clicked "Fluids / Add/Edit Contents / Emit From Object".

Then, I added a surface shader to the sphere and added a noise texture to the colour output. I adjusted the settings and copied the name of the material into the density emission map for the fluid emitter.

Final Video

Fire

First, I created a 3D container with and emitter and set the Emitter Type to Volume. I then changed the scale and resolution of the 3D container and moved it up. For the emitter settings, I changed the Fluid Dropoff to 1, I set Turbulence to 10 and Detail Turbulence to 1. I also changed the Volume Shape to a Sphere.

Then, I selected the 3D Container and went to the Contents Method tab. I changed the Temperature and Fuel settings from Off to Dynamic Grid. Then, I went down to the Shading tab and changed the colour to black. This would make it use Incandesants which made it look like fire.

Finally, I went into the Content Details tab and changed the settings to give it the properties of fire.

Final Video

Arnold Render

Screenshot_25.png

Particle Emission

First, I created a nParticles System. I changed the Emitter Type to a sphere and the changed Along Axis to 10. I then rotated it so it was going sideways.

Next, I added a 3D Container and changed the scale and resolution of it. I then selected the particles and the 3D Container and clicked "Fluids / Add/Edit Contents / Emit From Object".

Finally, I adjusted all of the settings to make it look like fire.

Final Video

Arnold Render

Screenshot_26.png

Bifrost Fluids

First, I created a cube and a sphere. I made the cube 24x24 and set the Subdivisions Width and Height to 24. I also moved the sphere up.

Screenshot_34.png

Next, I selected the sphere and clicked "Bifrost / Liquid". This turned the sphere into a particle simulation. But it did not collide with the floor. To do this I selected the BiFrost simulation and the cube and clicked "Bifrost / Collider".

After that, I selected the Emitter Properties and turned on "Continuous Emission".

Then, I changed the scale to have more realistic properties. I set the gravity to 980 and set the Emitter Emission Density to 0.001.

I had a problem where the liquid was going through the cube. To fix this I changed the Transport and Time Stepping properties to make it calculate more often.

Screenshot_35.png

I then imported a 3D model of glass and put it below the emitter. I increased the time-stepping because it was going through it.

Next, I wanted to stop the glass from overflowing. To do this I animated the Continuous Emission to turn off on frame 20.

After that, I adjusted the meshing settings to make it look more realistic.

Final Video

Arnold Renders

Cherrys and berrys.jpg
Cherrys and berrys full.jpg

Ocean

First, I created a plane. I made the scale 24x24 and set the Subdivisions Width and Height to 100.

Screenshot_49.png

I then selected the plane and clicked "Boss / Boss Editor". I then clicked on the ocean symbol. The simulation started on the 2nd frame. So I changed the start frame to 1.

Next, I adjusted the settings to make it look more like an ocean. First, I set the resolution to 1024 to make it more detailed. Then, I changed the scale to 0.5. Another setting I changed was I turned on "Horizontal Displacement". This made the waves move. The next setting I changed was the Wave Size which I set to 1.5. After that, I 

set the WindSpeed to 8.  The last setting I changed was the Wind Fetch Distance, which I set to 100.

Final Playblast

After that, I deselected everything and clicked "Bifrost Fluids / Liquid". Then, I selected the Liquid and the plane and clicked "Bifrost Fluids / Guide".

Screenshot_50.png

Next, I created a cube to create the area that I wanted to simulate. I then selected the cube and the liquid and clicked "Bifrost Fluids / Emission Region".

Screenshot_51.png

Then, I selected the "bifrostEmissionRegionProps1" and set "Blend With Guide" to 1.

Screenshot_52.png

After that, I added a sphere and animated it going through the water. Then I selected the sphere and the simulation and clicked "Bifrost Fluids / Collider".

Next, I selected the liquid simulation and clicked "Bifrost Fluids / Foam". I then adjusted the settings to make it the way I wanted.

Screenshot_54.png

Then I added a HDRI and materials to the water.

Screenshot_56.png

The ocean didn't look blue. To fix this I extruded it down so the light would scatter inside it.

Screenshot_57.png

To make the two parts blend together I added a ramp node and connected that to a 2D projection which I connected to the opacity channel. I then made an area of the ocean transparent and inverted it for the splash.

Screenshot_58.png

Final Render

Screenshot_59.png

Assignment 1

First, I 3D recorded myself throwing a ball at some cups.

Then, I 3D modelled the cups.

Screenshot_84.png

Next, created a sphere and added an Active Ridged Body and set the Body Type to "Kinematic Rigid Body". I then animated the ball moving into the cups. I wanted the ball to react to physics when it hits the cups so it bounces off. I did this by keyframing the body type to switch from "Kinematic" to "Dynamic".

After that, I added an Active Ridged Body to all of the cups. However, there was a problem as the collision shape could not be the same shape as the cups. This the cups moved apart slightly and when the ball hit it, it did not react how it did in the video I recorded.

I tried lots of different methods to fix this problem. But I found the best way was to manually animate the part where the ball hits it. This meant that I could animate it to match the video, then when I turned on the physics it would fall realistically without any collision issues. I did this by setting the body type to "Kinematic" and then animating it until I wanted it to fall 

randomly. Then, I keyframed it to switch from "Kinematic" to "Dynamic".

Finally, I created the lighting for the scene using an AiSkydomb and two AiAreaLights. I also created a backdrop using a plane with a bevel. Finally, I added materials to all of the objects and gave all of the cups a different colour. To add some more detail I added a fingerprint texture to the roughness channel for the cups and ball.

Screenshot_85.png

Final Render

Comparison

XGen

First, I created a plane and added a noise texture to give it bumps

Screenshot_89.png

Then, I 3D modelled an object that I wanted to randomly distribute over the plane.

Screenshot_90.png

Next, I selected the plane and changed the settings to use Custom Geometry.

Screenshot_91.png

After that, I had to archive the object. I did this by selecting the object and clicking "Generate / Export Selection As Archive".

Screenshot_92.png

I then clicked Add on the Archives File section of Xgen. I then had to find the file that I saved.

Screenshot_93.png

Next, I changed the density to 5.

Screenshot_94.png

I then clicked on the arrow next to the expression icon of the density attribute. I added a mask and painted a black line going across the plane. When I clicked save it removed all of the objects in the black area.

Screenshot_96.png

After that, I created a mask for the length and painted grey spots to create variation. To create even more variation I clicked on the expression icon and added this line of code... "$a = $a + rand(.1,.4);".

Screenshot_98.png

Next, I added a parameter to the Custom Shader Parameters. I added a mask and then and then added a texture with random colours to the mask image. Then I added an aiUserDataColor to the material of the objects. I copied the name of the parameter as the input.

Screenshot_100.png

Final Render

xgen test.jpg

Long XGen Hair

First, I opened the file that was provided. This was a 3D model of a head.

Screenshot_101.png

I then selected the head and added an XGen description. I used these settings because it is the best for long hair.

Screenshot_102.png

Next, I added a guide in the shape of a ponytail.

Screenshot_103.png

I then mirrored the guide and increased the hair density.

Screenshot_105.png

After that, I added more guides. I also changed the width of the hair and the density of the hair.

Screenshot_108.png

Next, I added a clump modifier. I then had to click "Setup Maps". I made sure I selected "Guide" otherwise, it would not look correct.

Screenshot_109.png

I then adjusted the clump settings so it looked how I wanted.

Screenshot_110.png

After that, I added a noise modifier and a coil modifier to give it more randomness.

Screenshot_113.png

Final Render

hair test.jpg

Animated XGen Hair

For this exercise, I used the ponytail that I created before.

hair test.jpg

First, I went into the xgen editor and turned on "Use Animation". Then I clicked "Create Hair System". I made sure all of the options were turned on.

Screenshot_115.png

Then, I clicked "Attach Hair System" and pressed play.

Next, I animated the head-turning.

Finally, I selected the hair system and went into the dynamic properties tab. I set the Start Curve Attract to 0.1 to make the hair keep to its original shape more.

Screenshot_116.png

Final Playblast

Bifrost Aero

First, I added a Basic_Aero_Graph. I then right-clicked on it and clicked explode.

Screenshot_9.png

Next, I added a Platonic and copied it into the Bifrost graph. I connected the platonic to the geometry of the source air. I also connected the aero_volume to the output. This made smoke come out of the platonic.

Screenshot_11.png

After that, I selected the aero_solver_settings and set the style to fluff to give the smoke a more realistic look.

Screenshot_12.png

Then, I added a file cache node between simulate_aero and the output.

Screenshot_13.png

Next, I added an assign_material node between the file_cache and the output and added an aiStandardVolume to the volume_material.

Screenshot_15.png

This made the smoke disappear. To fix this I had to change what was inputted into the channels in the material to properties that Bifrost could understand.

Screenshot_14.png

Playblast

After that, I added multiple vary_source_property nodes and connected them to each other and put them between the platonic and the source_air. I then selected the source_air and clicked info. I copied the name of the property of the part of the smoke I wanted to edit and added it to the property. I could then add some randomness to that property.

Screenshot_17.png

Then I selected the source_air and changed the mode from rate to set. This made the simulation start with the values set by the vary_source_property.

Screenshot_18.png

Next, I added a vortisity_influence and added it to the influence of the simulate_aero. Then I connected a modulate_influence to the vortisity_influence and set the min to 1.5 and the max to 3.5.

Screenshot_19.png

Final Node Tree

Screenshot_19.png

Final Playblast

Arnold Render

smoke.jpg

Bifrost Aero Explosion

First, I added a Basic_Combustion_Graph. I then right-clicked on it and clicked explode. Then I added a Platonic and copied it into the Bifrost graph. I connected the platonic to the geometry of the source air. I also connected the aero_volume to the output. This made smoke come out of the platonic.

Screenshot_24.png

After that, I selected the aero_solver_settings and set the style to fluff to give the smoke a more realistic look.

Screenshot_12.png

Next, I selected the source_fuel and set the Oxygen Percentage to 0.6 to make the flames stop quicker.

Screenshot_26.png

Then, I selected the source_air and set the temperature to 800 because it had to be higher than the ignition temperature which was 580. I  also changed the Fog Density to 0 because it is now being controlled by the Soot Properties.

Screenshot_38.png

Then, I added a file cache node between simulate_aero and the output.

Screenshot_13.png

Next, I added an assign_material node between the file_cache and the output and added an aiStandardVolume to the volume_material.

Screenshot_15.png

This made it disappear. To fix this I had to change what was inputted into the channels in the material to properties that Bifrost could understand.

Screenshot_39.png

After that, I opened the file I used for the previous exercise to make smoke and selected all of the Vary_Source_Properties and made them into a compound. Then I right-clicked it and clicked publish. I then could import the compound into the explosion node tree. I then exploded it. I also deleted the one that controls fog because I didn't need it anymore because it is now being controlled by the Soot Properties.

Screenshot_40.png

I then selected the one that controls the temperature and change the min value to 400 and the max to 800.

Screenshot_41.png

After that, I added a node from the Rebel Pack called aero_einstein_influence and connected it to the influence input of the simulate_aero node. This added another layer of randomness.

Screenshot_42.png

Finally, I added two nodes to the additional_setting input for the aero_solver_settings.

 

The first node I added was called aero_adaptivity_settings. I this made the simulation become lower resolution depending on how far away it is from the centre of the simulation. This would make it simulate faster.

The second node I added was called aero_refinement_settings. This would upscale the images that are used to make the simulation. This would make the simulation look like it is a higher resolution, but it won't take as long to simulate.

Screenshot_43.png

Final Node Tree

Screenshot_44.png

Final Playblast

Bifrost Particles

First, I added a platonic and set the subdivision mode to triangles and the subdivisions to 20. I then selected the platonic and clicked Create Graph. I then added a basic_particle_graph and exploded it. I deleted the collider and connected the platonic to the source_particles, and connected the simulate_particles to the 

Screenshot_48.png

output. I then selected the particle_solver_settings and turned off gravity. I also changed the Particle Display Shape to Disk.

Next, I added a set_property node to the additional_properties of the source_particles. Then I typed "color" into the key input. I then right-clicked the value input and changed it to "Math::float4".

Screenshot_49.png

After that, I selected the platonic and went into the vertex paint editor. I then flooded it with white and then imported a texture with random colours. I then opened the Color Set Editor and changed the name to color.

Screenshot_50.png

Then, I added a modifier_influence and connected it to the simulate_particles. I changed the value to "Math::float4" and typed "color" into the property. I set the operation to Multiply and changed the value so the particles would change to blue over time.

Screenshot_51.png

I connected another modifier_influence to the previous one. I typed point_age into the Property input. I also selected the source particles and changed the age limit to 10. I could now control how quickly the particles would become blue.

Screenshot_52.png

I connected another modifier_influence to the simulate particles. I typed point_size into the Property input. I then turned on clamp ant typed 0.001 into the min, and 0.01 into the max. This made the particles smaller.

Screenshot_52.png

Next, I added a turbulence_influence and connected it to the simulate_particles. This added some randomness to the simulation.

Screenshot_53.png

Finally, I added a file_cache and connected that to an assign_material. Then I connected that to the output. I then created an aiStandardSurface and added an aiUserDataColor node to the emission channel. I then typed "color" into the attribute and set the emission weight to 1. Then, I connected the material to the assign_material node. 

Screenshot_54.png

Final Node Tree

Screenshot_55.png

Final Playblast

Final Render

Particles.jpg

Bifrost Particles Velocity to Colour

First, I created a plane and a cylinder and animated the cylinder moving through the plane. I then selected the plane and clicked "Create Graph" and added the cylinder as a collider. 

Screenshot_56.png

Then, I selected the source_particles and turned on "Use End Frame" and set it to 1. I then changed the rate to 3000. I also set the speed and normal speed to 0. I also turned on "Live Forever". I then selected the particle_solver_settings and turned off gravity and turned on self-collision. Another thing I did was I added a drag_influence node to the simulate_particles and set it to 0.5. This gave the particles a bit of friction. I also selected the collider and changed the inherit velocity to 0.1.

Screenshot_57.png

Next, I added a set_property node to the additional_properties of the source_particles. Then I typed "color" into the key input. I then right-clicked the value input and changed it to "Math::float4" and changed the values to a blue colour.

Screenshot_58.png

After that, I added a "get_geo" node and connected it to the simulate_particles node. I then connected it to a length node. This node contains the data controlling how much each particle travels.

Screenshot_59.png

Finally, I added another "get_geo" node and connected it to the simulate_particles node. I then connected it to a "vector3_to_scalar" node. I then added an "add" node and connected the length node and the "x" value from the "vector3_to_scalar" node I then connected the output to the "x"

Screenshot_60.png

input of a "scalar_to_vector3" node. For the "y" and "z" I connected the "vector3_to_scalar". I connected that to another "set_geo" node which controlled the colour and connected that to the output. This made it so the faster the particles were moving, the more red they will be.

Final Node Tree

Screenshot_60.png

Final Playblast

MPM Particles

First, I opened the scene that was provided.

Screenshot_76.png

I then created a Bifrost graph. I added a simulate_mpm node and connected a mpm_solver_settings to it. I then connected the cube that covers the whole scene to the simulation bounds. 

I then added two colliders and connected the container to one and the snow cutter to the other.

I then added a source_mpm_snow, source_mpm_sand, source_mpm_fluid and make_mpm_cloth. I then attached the corresponding objects to the correct source. For all of the sources, I turned on use end frame and set it to 1 so they don't continuously create particles.

Screenshot_78.png

I added 3 set properties nodes and connected them to each of the MPM particle sources. I set the key to "color" and the made the snow white, the sand yellow and the fluid blue.

Screenshot_80.png

Next, I added 2 cuboids and made them slightly overlap the torus. Then I animated them moving apart. I then added a constrain_mpm node and added the cubes to the constraint_geometry. I also added the make_mpm_cloth to the mpm_source. Then I selected the make_mpm_source and clicked "Enable Tearing" and set the tearing threshold to 1.

Screenshot_81.png

After that, I added an assign_material node and connected an aiSwitch material to it. I then created a material for each of the simulations and connected them to each of the inputs of the aiSwitch material. I also connected an aiUserDataInt to the index.

Screenshot_82.png

Finally, I connected the assign_materials node to a convert_to_volume node and connected that to a volume_to_mesh node.

Screenshot_83.png

Final Node Tree

Screenshot_84.png

Final Playblast

Render

Test.jpg

Fur

First, I created a platonic and set it to triangles and increased the subdivisions.

Screenshot_85.png

I then created a Bifrost graph and added a create_strands_along_normal. I then connected a 

Screenshot_86.png

set_strand_shape, set_strands_size_profile and a set_arnold_strands_settings to adjust the size and shape of the strands. I also selected the set_arnold_strands_settings node and changed the basis override to Catmull_Rom

Next, I added variation to them by adding a update_strands_ratio, evaluate_fcurve and a fractal_turbulence. I then added a get_point_position and an Add 

Screenshot_87.png

node. I connected the get_point_position to the create_strands_along_normal and the Add node. I also connected the fractal_turbulence to the Add node. Then I added a set_strand_position and connected the output to the set_strand_shape. For the inputs, I connected the Add and the create_strands_along_normal nodes. I used the evaluate_fcurve node to make it so the root of the hairs will stay in the same place.

After that, I added a scatter by number in between the platonic and the create_strands_along_normal nodes. I set the scatter mode to "blue noise" and set the amount to 100000.

Screenshot_88.png

Finally, I added an assign_material  in between the set_strands_shape and the set_strands_size_profile nodes. I added an aiStandardHair material to it.

Screenshot_89.png

Final Node Tree

Screenshot_90.png

Render

fur.jpg

Particle Trails

First, I added a platonic and set the subdivision mode to triangles and the subdivisions to 20. I then selected the platonic and clicked Create Graph. I then added a basic_particle_graph and exploded it. I deleted the collider and connected the platonic to the source_particles, and connected the simulate_particles to the 

Screenshot_48.png

output. I then selected the particle_solver_settings and turned off gravity. I also changed the Particle Display Shape to Disk.

Next, I added a turbulence_influence and connected it to the simulate_particles. This added some randomness to the simulation.

Screenshot_92.png

After that, I added a set_property node to the additional_properties of the source_particles. Then I typed "color" into the key input. I then right-clicked the value input and changed it to "Math::float4" and made them orange. I also added a modifier_influence and connected it to the simulate_particles. I changed the value to "Math::float4" and typed "color" into the property. I set the operation to Replace and changed the value so the particles would change to blue over time.

Screenshot_94.png

Then, I added a create_particles_trails and set the num frames to 500. I also added a set_strand_shape, set_strands_size_profile and a 

Screenshot_95.png

set_arnold_strands_settings to adjust the size and shape of the strands. I also selected the set_arnold_strands_settings node and changed the basis override to Catmull_Rom.

Finally, I added an assign_material  in between the set_strands_shape and the set_strands_size_profile nodes. I added an aiStandardSurface material to it. I connected an aiUserDataColor to the emission colour.

Screenshot_96.png

Final Node Tree

Screenshot_97.png

Final Playblast

Render

trails.jpg

Particle Trails

First, I created a very basic scene.

Screenshot_99.png

I then created a Bifrost graph and created a simulate_mpm. I connected a mpm_solver_settings to the setting input. I also connected a make_mpm_fiber to the sources. I then add the plane and connected it to a create_strands_along_normal, then I connected that to the make_mpm_fiber.

Screenshot_100.png

Next, I added a constrain_mpm between the make_mpm_fiber and the simulate_mpm nodes. I connected the cube to the constraint_geometry.

Screenshot_101.png

Finally, I added a collider. I connected it to the colliders input on the simulate_mpm node. I connected the sphere and the ground to the geometry.

Screenshot_102.png

Final Node Tree

Screenshot_104.png

Final Playblast

bottom of page