Category Archives: General

Python Cinema 4D API auto completion (fake package)

Python Cinema 4D API auto completion (fake package)

The combination of Eclipse and PyDev makes an excellent development environment for coding Cinema 4D python plugins.
Sadly, there was this one – major – feature of PyDev I just couldn’t get to work… completions.

And that was a shame, because this is probably the most awesome feature of PyDev and speeds things up a lot.

Now it’s finally usable! (well… mostly)

Continue reading »

Smart HN-Options – Cinema 4D Python CommandData Plugin Template

Smart HN-Options - Cinema 4D Python CommandData Plugin Template

So far we already covered IDE-setup and debugging – new let’s go and actually build something!

This is meant to be a simple template of the most common plugin type in Cinema 4D – the CommandData plugin.

Smart HN-Options is a very simple tool that allows to globally change the parameters of every HyperNURBS object within the scene.

Grab the plugin and source! (Eclipse project files included)

Continue reading »

The Binary Kite – even more cubes with Py4D

The Binary Kite - even more cubes with Py4D

There are those popular structures we all know and love because they simply look fascinating from every angle – like the Sierpinski triangle, the Pythagoras tree or the Menger sponge.
Generative geometry is one more proof that math is beautiful no matter how basic.

Recently I stumbled upon a new pattern that is also phenomenally simple but produces rather complex shapes – the “Binary Kite”.

Continue reading »

SmartAA – reconstruct anti aliasing with Pixel Bender

SmartAA - reconstruct anti aliasing with Pixel Bender

About three decades ago, pixels where as big as toasters – and mostly green.

Today we have millions of them to deal with, and the terms anti-/aliasing have become part of our daily live. Every time an image is scaled, it gets interpolated to eliminate those bad “stairs”.

But what if the source image is aliased in the first place?

Checkout the demo of SmartAA!

Continue reading »