|- Alias|Wavefront -| |- About -| |- Submit -| |- Visor -| |- Links -| |-Gallery -| |- Contact Us -| |- Frequently Asked Questions -| |- Home -| |- Home -|
|- Paint Effects Brush Exchange -|
|- Menu -|
Frequently Asked Questions

I've created some environments in Maya - trees, grass, bushes etc, and want to animate them with local force. It seems to me, that the only way to animate them is to go to each strokes' attribute editor and set the animation. Is there any way to animate all strokes as a whole, instead of animating them individually?

There are a few different methods:

1. If you used the same brush when creating several of the strokes, you can select those strokes and then paintEffects->ShareOneBrush. This will allow you to modify one brush for the group.

2.If the strokes have brushes with different settings(except for the parameters you wish to animate), then you could bind the parameters to animate together using connectAttr. You can make a single brush drive all the others, ie.

connectAttr brush1.globalForceX brush2.globalForceX
connectAttr brush1.globalForceX brush3.globalForceX
connectAttr brush1.globalForceX brush4.globalForceX

etc.

Then you need only animate brush1. One could make a simple mel script to automate doing this sort of thing. The connections above are in a "fan out" layout, but one could also use a "daisy chain".

3. You could use a single animated nurbs curve to animate the strokes. Create a vertical curve with the first cv at the bottom(near the ground plane). Select this curve and the strokes you wish to animate, then paintEffects->setStrokeControlCurves. Make curveAttract = 0, curveMaxDist = 0, and curveFollow a suitable value on the brushes you wish to affect. Now wiggling and bending the curve will affect all the various strokes( trees, grass, etc. ).


I've been trying to render paint effects clouds through a moving camera. When the camera penetrates the clouds, the clouds seem to jump and translate every frame. I've tried turning off auto render clip plane in camera attributes and adjusting the near clip plane, but these do not seem to work. Is there a way to stop the movement of the clouds as the camera is flying through them?
If you are using clouds with the brushStart mapMethod, then the texture behaves as though mapped on a plane with its center at the start of the brush stroke and facing the camera. As the camera moves to a point where the start of the stroke is behind the eye, this projection no longer works well. You can get better results with this projection if you keep the brushstrokes fairly short. Perhaps the tube 2D map method with a fractal texture might work better, although the painting would take more skill.

Paint effects tubes do not currently thin out when the eye moves through them but rather pop off. This can exaggerate the texture problem you are having. There is a runtime brush function "makeCameraFade" that fixes this in the highend3d melscripts section.


Is it possible to have PaintFX tubes react individually to dynamic forces/fields?
You can create a small control curve for your grass strokes, then make the curveFollow zero, curveAttract negative, and the curveMaxDist = distance of effect from your camera. Use the curve as you would a point force. The main problem here is that the attraction, etc, is defined on the brush and not the curve, so you can't use some curves for shaping and others for repulsion.

You can also create runTime paint effects functions to repell and shape paint effects strokes. Look at paintCollideFunc.mel and leafDroop.mel in your maya distribution.


Paint Effects doesn't recognise my pressure-sensitive tablet.
Try the following:
  • Check that "Use Stylus pressure" is ticked in the Paint menu in the Paintfx view
  • Click the Reset button in the Paint Effects Tool options menu
Geometry in front of my Paint Effects strokes exhibits strange antialiasing artifacts.
  • Turn on farthest depth on your camera's depth method. This causes the renderer to use the depth of the sample in the pixel that is farthest from the camera. When paint effects renders there will no longer be a white fringe, but the edge of the forground object may appear aliased in places. I'm not sure, but I believe that you can get a result that is sort of inbetween this extreme and your current result by using the transparency depth threshold with transparency based depth.
  • Another method is to simply turn off antialiasing altogether so that you only have one sample per pixel, then render the scene at double or greater resolution. The resulting images are then resized down with filtering. The fringe will be gone, and the edge will look smooth. Also this has the advantage of improving the quality and stability of very thin paint effects lines.(note. do not turn off the antialiasing flag on the paint effects brushes) It need not be too much slower to render this way, because antialiasing is turned off.
  • Render the background with paint effects and then composite the foreground objects on top. This can be more problematic for scenes where the objects are immersed in paint effects. In some cases you could render the objects with the paint effects against a color that is either black, or close to the object.s color, and then composite this against your background.