PySoy 3D field system

Alex Buck alexanderjbuck@…


I am proposing to work on the PySoy project for the Google 2006. My focus will be to implement an field system which can be used to simulate wind and other weather effects.

The system will be similar to the one implemented in Blender 3d, though more flexible. The field will be able to apply a force based on distance from the field shape, field strength, and field angle( direct and/or tangent ). A full direct force would the vector between the object and field, a full tangent force would be orthogonal to that and another vector( based on which shape is used ). The system will allow for three field shapes: plane, vector, and point. Shape and angle can be combined for a variety of effects such as wind( plane/direct ), tornado( vector/tangent ), or black hole( point/direct ).

The system I propose will be flexible enough to provide many effects and will be able to apply a force on any object assigned to it. It will be able to affect particles, meshes, and armatures( such as tree branches ). This will be available to the user without requiring significant knowledge of the underlying system, providing a dramatically more dynamic creation with little effort.

About me

I currently attend the University at Albany in New York, where I will be graduating after this semester with a dual major in Computer Science and Studio Art. I have taken a computer graphics course and am well versed in C/C++ and Python on both Windows and Unix systems. I am familiar with several 3d engines and have released a small game created with Blender 3d ( as well as a rag-doll demonstration for Blender (

I am confident you will see the value in such a system and pending acceptance of this proposal I will be available to give this project my full energy over the summer.


A brief outline of my schedule is as follows:

5/23-5/29 Gather research on other implementations, find best way to implement into PySoy
5/30-6/19 Create field object that will give a force vector based on shape,angle, etc.
6/19-6/26 Allow a single object to be attached to field.
6/27-6/30 Create demonstration/outline current progress.
7/1-7/10 Allow a particle system to be attached to a field.
7/11-7/13 Research best method for affecting armatures/get feedback
7/14-7/24 Allow armatures to be attached to field.
7/25-7/28 Test and revise implementation. Submit modifications for community feedback.
7/29-8/7 Possibly coordinate with water project so wind can affect water.
8/8-8/14 Make modifications based on feedback and thoroughly test the code.
8/15-8/21 Write tutorial and create demonstration game.