Welcome to the world of mystery.


Hey everyone! (anyone? lol) im currently in the process of moving to a wordpress site. its looking a lot cleaner, and ill have plenty of new goodies to show off once i have it up, sorry if anyone is disappointed by the lul in coding! you can get to the new site at:


Thinking Particles in c4d using python

Hey everyone!
I've been in the dungeon working on learning all the new python goodies. Now with r13 the entire mograph module is at your disposal, so there's that, but I wanted to take a step back and write about how to create some more basic stuff in python. Up until now, the only method by which to create thinking particles was through xpresso or the matrix object. Well, now the python generator can be added to your arsenal. Let's go through the basic process by which we can create some particles!

1) create a python object.(duh)

2) first, we need to retrieve the document that are particles are going to exist in. There are a couple ways to accomplish this in python c4d.
- you can import the documents module("from c4d import documents") and use
- or you can get the document from the python object ("op.GetDocument()")

3) once the document has been retrieved, the Thinking Particle Master System(TPMS) can be retrieved from the document using the "GetParticleSystem()" command on your document.

4) once we have the TPMS we can do anything we want. Refer to the sdk for commands, but basically, we can create particle("TPMS.AllocParticle()"), remove particles ("TPMS.SetLife(particleID, -1)"), set velocities("TPMS.SetVelocity(pid, c4d.Vector())"), etc.

An example of some code is below:

import c4d

def Main():
Doc = op.GetDocument()
TPMS = Doc.GetParticleSystem()
NumParticles = 20
for i in xrange(NumParticles):
id = TPMS.AllocParticle()# this also returns the #particle ID
TPMS.SetLife(id, doc.GetMaxTime()) # set life to the doc length
TPMS.SetPosition(id, c4d.Vector(0, id*100, 0)

Hope that helps get u started. More to come!

New Developments

Hello Interwebs!
It's a wonderful Sunday night and i am proud to announce the upcoming release of two new plugins,( my first two!) so stay tuned for more information about Spline Gen and Keep Floored !

SplineGen Introduction from alex van dyne` on Vimeo.

SplineGen Introduction from alex van dyne` on Vimeo.


working working working....

thanks for the input guys! working on Version .0000000000002:

things to look forward to:
1) I'm implementing an actual plugin this time. it will be callable from the plugins menu and will create a specialized building object. so much work to do this... :( but worth it.

2)fixing geometry output so normal's are facing the correct way. ( thanks to Mandrake for that one ;) )

3) adding the ability to control floor generation and concrete seperator generation using either basic c4d splines or customs splines.

4) adding a boundary spline control that sets the width and depth of the building based upon a floor spline.

5) adding Windows Gen!

6) adding Staircase Gen

7)changing material controls to support assignment switching within the plugin. for example, you can change the window's texture tag to assign whatever texture has been dragged into the corresponding link field. link fields will Include: glass,metal,wood,concrete,marble,plaster,custom#1,custom#2,custom#3. Also the automatic material mapping options will be fit the building's size instead of juts being cube mapped.

8) plugin will be composed of multiple object that construct buildings(kind of like xfrog). so you have the main building object and then you place special objects under it that will become the building. i was toying with the idea of creating some kind of node-based system, but I'm not sure people would be comfortable with that, plus i don't know that python supports this yet. I know there are python nodes in xpresso, but i don't know about creating them using the plugin module.

more to come! back to work! lol. thanks again everyone!

Complex Building Generator for c4d

hey All!
Ive been locked away in my dungeon creating python madness. i am proud to announce that i am almost 50% complete with my new building generator plugin for c4d. im not a really a developer so It's not as polished as i would like, but it is definitly working and a lot of fun to play with. If anyone is interesting in trying out these earlier versions hit me up and ill send you a copy!
check out some screen caps below.

New Developments

Using Python

I have begun to play around with the Python programming language. And MAN, this shit is powerful! In terms of 3D production, there has yet to be a language like this. It has both power and simplicity. In this example, I created a realflow sim that would calculate particle velocity and age, and then depending on how old the particle was or how fast it was going, it is then turned into a more surface-tensioned liquid and gravity begins to take hold.  

here is the script:

def onSimulationStep():
factor = 3
emitter1 = scene.getEmitter("Circle01")
emitter2 = scene.getEmitter("Circle02")
particle = emitter1.getFirstParticle()
life = particle.getAge()
vel_g = particle.getVelocity()
vel_x = vel_g.getX()
vel_y = vel_g.getY()
vel_z = vel_g.getZ()
speed = abs(vel_x+vel_y+vel_z)/3
if (speed>factor):
pID = particle.getId()
pos = particle.getPosition()
emitter2.addParticle(pos, vel_g)
if(life >= 1):
pID = particle.getId()
pos = particle.getPosition()
emitter2.addParticle(pos, vel_g)
particle = particle.getNextParticle()

Python liquid burst from alex van dyne` on Vimeo.

Mixing Liquids in C4D using Realflow and C4D

I also figured out an interesting way to simulate two(or as many as your rig can handle) mixing liquids using realflow and c4d, despite c4d's lack of a melt material! If you care, the rough directions are as follows. 

1. sim out your mixing liquid being careful to note where it is exporting not just your mesh, but your particles as well.

2. import the 3 .bin files into c4d using the realflow plugin.
       A. your mesh.bin
       B. the first particle cache.bin
       C. the second particle cache.bin

3. create a cloner object and set it's mode to object mode.

4. create any polygon shape and delete all but one vertice. then zero out the vertice in local an world space and drag it into your cloner object.

5. go to the thinking particle menu and drag one of the particle groups into the object link in the cloner object, effectively cloning a vertice to each particle in one of your mixed fluids.

6. create a material and use a proximal shader in whatever channel you like.

7. Drag the cloner object containg the verticies into the proximal shader. be sure to set the check boxes ON marked "inlcude subobjects" and "use vertices" inside your proximal shader.

8. now your proximal shader is effectivly an alpha map based on how close your mesh is to a particular particle cache. you can insert this proximal shader into anything from the color channel to the alpha channel and by setting the falloff of the proximal shader accordingly, you can have color changes or anything really!

if anyone needs a better explaination than this let me know!

Mixing liquid colors using c4d and realflow. from alex van dyne` on Vimeo.

Demo reel

chec out my simple website and demo reel at


Starwood Hotels Boards

Unfortunatly, I didn't win the pitch. but it was supposedly because of "Budgeting Issues."

Hello World!

My Name is Alex Van Dyne, otherwise known as VD affectionately... although I'm not sure I'm 100% on-board with that nickname. anyway, this will be where i post my progress, tips tutorials, and anything related to my work as a 2d and 3d artist. hope you enjoy!