C4D - Select every other point in a spline

I've just received a request for a way to select every other point on a spline in C4D. Here's my way of doing it. The script can be found on the downloads page. Here's the code with comments:

import c4d

def main():

    op = doc.GetActiveObject() # Get the active object
    if not op: return False #If nothing is active, end the script
    #If the selected object is not a spline, end the script
    if not type(op) != c4d.Ospline: return False 

    #Get the selection object which the object uses to manage what is and isnt selected
    sel = op.GetPointS() 
    sel.DeselectAll()    #Deselect everything to begin with

    cnt = op.GetPointCount() #Get the number of points in the object
    for i in xrange(cnt):    #Loop through the point IDs
        if i%2 == 0: sel.Select(i) #If the number is odd, select the point
        #Change i%2 == 1 for selecting even numbers 
        #Change i%3 == 0 for selecting every third pont etc
    c4d.EventAdd() #Update the scene

if __name__=='__main__':
Posted on May 6, 2017 .

Light Masonry

Light Masonry : A JasonBrugesStudio project

From the JBS website:

Illuminating York, supported by Arts Council England, is an annual event which sees a variety of designers invited to create light installations across the historic city. The Festival encourages visitors to explore and discover the city through the imagination of artists, using the medium of light in all its forms.

See more here

Posted on November 9, 2016 .

PIXELS IN PROGRESS - C4D Offset Grid Generator

All of the new R18 enhancements for Mograph are looking really great. One thing which I could have done with some time ago was the Honeycomb mode. I came up with this solution how do do this in a flexible way a while back. As Maxon are integrating something similar, it looks like this is a feature that people must be interested in, I thought I'd post my solution.

The C4D - Pixels In Progress - Offset Grid Generator is a python generator which creates a polygon object as a set of planes in various offset grid formations making a map to clone directly onto the polygon centres of. You can get it on the downloads page here : Downloads


Posted on July 27, 2016 .

C4D Dynamic UserData control

I'm in the midst of developing a set of plugins to control a range of different lighting fixtures and all of their settings. I need to be able to control each fixture individually but also as a group. A lot of headaches later and I've developed a method which uses Dynamic UserData in C4D to have access to these values in a manageable way. Now I can use good old fashioned keyframes or through python/mograph for the group control.

Here's what the first working version of the interface looks like:

Posted on July 2, 2016 .

Pixels In Progress - C4D Matrix Draw Helper Plugin - R15 and up

A free plugin available for R15 and up at the downloads page

The matrix draw helper plugin is a workflow tool that allows you to visualise more in the viewport when working with mograph, whilst keeping viewport speeds nice and friendly.

You can't render anything with this plugin (unless you're using a hardware mode etc) but that's why it works so fast. As there's no geometry or object overhead, the system is able to draw lots of content into the viewport so you can get your timing right for animating whilst using some of the different modes to help you see things like animated effects, clone direction and even some basic lighting.

I'd love to see what uses you can find for this. I already use it every day, hopefully it'll be useful for some of you too.

Posted on December 17, 2015 .

C4D Python - Batch take maker

This video is shows a new workflow tool I've developed for a recent project. In reality we used a real green screen setup and captured actual people. I don't have the footage from the project so Mr Lego man has stepped in to help explain.

In the project, we were creating animations of people at a party using exactly 4 frames for each (I've used 8 in this video). The footage coming from the camera was an image sequence with all of the people featured in a long stream of image files. The challenge was to batch process the footage so we end up with a series of 4 frame animations which we would then be looping. Now, I'm sure there are loads of ways to do this but I was unaware of any at the time and I spotted the opportunity to use the new R17 take system.

Essentially the script will look at the length of the image sequence, look at a parameter set by the user to say how long the animations should be and then create as many takes as it can based on the numbers. Each take has different parameters in the bitmap shader for start and end frames. Then, using the save tokens you can render out all of the animation files to movie files named in a sensible way. Have a look in the files for more information.

This is currently a very specific tool for a very specific job but you can adapt the parameters in the python script to make it do anything you'd like. 

If you do find a good use for this then I'd love to hear what you've done.

Get the PIP - Batch take maker here : pixelsinprogress.com/downloads/

Posted on October 11, 2015 .