Forums > Jitter

How to create a particle videoplane?

December 24, 2013 | 11:18 pm

I’m trying to create a particle videoplane so that I could interactive generate a new videoplane. Is there any working patch for reference? Thanks.

December 25, 2013 | 12:33 am

Check out my attachment.

This one was fun. Basically, I took the help file from jit.phys.multiple. I then replaced the 64 spheres with 64 video planes. I then added a video to those planes.

Just click "1" and "2" to get started. Note that the "read" message can be replaced with a message like "read" or "read example.png".

Hope this helps!

|\|ate |)anziger

December 25, 2013 | 12:36 am

When it comes to interactively generating a new video plane based on a player action, I am not sure.

Normally what I’d do in that case is hide the max number of objects off screen until the user "pops" the object into their view with an action.

However, truly "creating" a 3d object like a videoplane based on an action is something I have yet to figure out. Perhaps lua would be useful for this?

December 27, 2013 | 10:18 am

you can use with and the p.shiva/vishnu particle objects.
controlling the number of instances is simply a matter of changing the dim attribute of the source matrix.


– Pasted Max Patch, click to expand. –


December 28, 2013 | 9:10 am

Hi Rob, thanks a lot for the patch. I can figure out emitting basic video sprites with alpha channel. But when I set init_var value in z position. Different sprites would not sort depth based on their z value, i.e. sprites that are far back would display in front of sprites at front. If I turn depth_buffer enabled for videoplane. The alpha channel will have problems, it has a strange kind of mask frame blocking some of the sprites behind it. I set the blend as alphablend and blendmode as 6 7 by default.

Also, for camera perspective, is it possible to let the elements accept main camera perspectives while each sprite ignores the rotation. For instance, if I setup a camera to look down toward a group of videoplane sprites, since they are also flat surface, they will look tile based on perspective, can I make them still look orthographic while keep sizes changed according to z-depth?

The other thing is that how can I fadeout a sprite when its life ends. Also is there a way to emit the videoplane(with a quicktime video attached) that playback from a different time and rate.

In short, can Max create a particle system similar to the trapcode Particular particle plugin for aftereffects if you know it. A particle system that can easily set each sprite’s color, opacity alone the life span and also allow each sprite get a different frame from a video or choose a different start time.

December 28, 2013 | 9:11 am

Thanks Nadan10 for the patch.

December 28, 2013 | 9:31 am

The most annoying thing is this alpha problem, see attached image. Part of the horse at back are masked by the frame of the front one. But the front one does has its transparency actually. Is it a common depth issue?

December 28, 2013 | 10:14 am


December 28, 2013 | 11:00 am

The problematic alpha sample is here.

January 19, 2014 | 10:58 am

Hi again Yan Da!

Is it a common depth issue? Unfortunately yes.

If opengl opacity stuff made ANY sense in Max, it would just automatically assign layers based on distance to the camera.

But opengl opacity stuff doesn’t make any sense in Max, so (as far as I know) you have to manually assign a "layer" to each 3d object if you want normal opacity stuff to work. And the "layer" has to be higher if it is closer to the camera. So the horse in the back should be @layer 2 and the horse in the front should be @layer 3. That’s how it is for normal opengl objects in Max…not sure if jit.phys.multiple makes that process harder. I would set up an example patch, but I’m not sure how to assign layers to specific objects in jit.phys.multiple…

Someone should make an object that automatically assigns layers based on the distance of that object to the camera. That would be cool.

Your project looks awesome! Horsies!


Viewing 10 posts - 1 through 10 (of 10 total)