Jump to content

Particle Pixie Dust, Cast Magic Spell


Atom

Recommended Posts

Hi All,

I am trying to make particles render like the typical Disney pixie dust. I would like it shinny and sparkly and decay over time. On this site I found this example file of a character casting a spell and leaving behind a trail of particles. I would like to use this as an example file of how to accomplish this effect and render it.

I'm not sure what kind of shader I need for this? I have applied a Mantra material to the particles and I have particles with Cd attribute gradient whose color is controlled by life and age but I still can't get any particles to show up in the render.

 

Does anyone have any tips on how to achieve the pixie dust look?

ap_A_v02_magic_attack_particles_1a.hipnc

Untitled-1.jpg

Link to comment
Share on other sites

28 minutes ago, Atom said:

I still can't get any particles to show up in the render

purely based on your screenshot, the render flag is not on the last node, is that on purpose ?

then I would check the pscale attribute to make sure it has correct values

Link to comment
Share on other sites

I don't think it has anything to do with the render flag in this case. You have a shader applied to the top level "peasant_girl" and then you have a material sop in side pointing at something. In my experience you would use one or the other and not both. When using both, mantra tends to get a bit confused.

I am attaching a file on how I would do it. You don't really need to do anything in the shader and actually, I always tend to use a constant shader. In the file, pscale is set in a simple wrangle and I did the rest of it in a VOP for the sake of just getting this out quicker. You could do everything in a wrangle though.

pixie_dust.hip

Link to comment
Share on other sites

Thanks for the example file. I was able to mix your sparkle frequency and pscale setup with what I already had for mapping color by velocity. I feel like the particle setup and attributes are all in place. I guess what I don't know is how to make the shader? You mention none is needed but when I look at the classic Tinkerbell particles from Disney I certainly see color and stars and sparkle. I guess  the stars could be handled by an alternate shape on the copy. If pscale is over a certain size then activate a switch with a stamp to choose an alternate star shape instead of a sphere. But the sparkle and background plasma glow elude me? Would that be emission? How do I setup the lights to achieve sparkle? Do I need to route the particles through some kind of pyro for that background plasma?

 

ap_cast_magic_spell_1a.hiplc

Untitled-1.jpg

magic13.jpg

Link to comment
Share on other sites

Now I think I see what you mean about the constant shader. I switched the Copy shape to a UV mapped grid.  If I apply a transparent image map with a sparkle/star shape to the diffuse and opacity channels of the constant shader I can get basic sparkle shapes unaffected by lighting but colorized by the gradient that defines Cd.

Untitled-1.jpg

 

However, it would be nice if there was a way to make all the particle UV grids always face the camera. Currently they are all randomly rotated and this causes distortion in the sparkle image shapes.

Untitled-2.jpg

Star7.png

Edited by Atom
Link to comment
Share on other sites

Any reason you wouldn't be able to get that "star effect" in just comp? I wouldn't copy anything to the points and just render points out or mantra. Do a group of particles that are gonna be your bloom particles and in nuke, you should be able to get that star look you are looking for. You also don't need to move the particles through a pyro field. I mean, you can if you want but, you can get away by just putting some slow curl noise on the particles themselves.

If you are dead set on doing the grids method and want the particle grids to always face the camera, you could always do sprites since that is what they do by default.

Link to comment
Share on other sites

In this example I am using Mantra but my final will be rendered in Redshift. It uses a geometry instancing method but requires geometry to be present for the final render (i.e. it can't render points yet). I have not looked into Nuke that much. I have the Nuke demo and have played around with it but I would not know how to take point information (what would I supply to Nuke?) and map images to the points in that software.

I think my final step of making all planes/grids face the camera would be all that I need to finalize this.

Edited by Atom
Link to comment
Share on other sites

All right, I found some orientation code posted by Tom Slancik that does the job. It is not a true "face the camera" orientation, instead it is a "face like the camera" style of orientation. This way particles off to the edge of the camera are not turned inward causing distortion. All particles always face the same direction the camera is pointing.

The Attribute Wangle code sets up the random index (0-6) for a switch and the orientation for each particle.

i@switch_index = int(fit(random(@ptnum),0,1,0,6));
string cam = chs("cam");
matrix camX = optransform(cam);
p@orient = quaternion(matrix3(camX));

In this image I have 7 different star glow style image maps randomly chosen for particles colorized by the gradient on the AttributeVOP node. The gradient represents current velocity. The brighter the color, the faster the particle is traveling.

Untitled-1.jpg

ap_cast_magic_spell_1b.hiplc

Untitled-2.jpg

Edited by Atom
Link to comment
Share on other sites

11 hours ago, Atom said:

In this example I am using Mantra but my final will be rendered in Redshift. It uses a geometry instancing method but requires geometry to be present for the final render (i.e. it can't render points yet). I have not looked into Nuke that much. I have the Nuke demo and have played around with it but I would not know how to take point information (what would I supply to Nuke?) and map images to the points in that software.

I think my final step of making all planes/grids face the camera would be all that I need to finalize this.

The cheapest and simplest way to do this is to render out spheres or discs with pscale determined by age and a ramp, some random colours for variation and some rotations on them. Render them flat and then slap on some glow/glint in a 2D package like Nuke or AE.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...