Cosmos Laundromat

Hi all:

With this name ( Cosmos Laundromat chapter 1 ) Blender institute brings to light his new Open Movie. As always, they sell several versions, all of them with all the Blender content used to render the movie inside. Its a super opportunity to learn a lot about Blender, about new capabilities, and to get the most of this amazing open source 3d software.

Althought i have not been using Blender for a long time i am still in love with it.

Impressive work guys!!



‘Codility’ is a service that offers an awesome way for companies to hire new programmers. On the other hand, it offers an awesome way for developers to demonstrate their programming skills to companies. Basically, a developer has 2 hours to develope a program that resolve a well defined test. At the moment it could be resolved in C, C++, C#, Java, JavaScript, Lua, Objective-C, PHP, Pascal, Perl, Python, Ruby, Scala or VB.NET, focusing in the way a developer thinks, and not in a specific syntax or specific language.

For programmers, ‘Codility’ has several available lessons, where they try to make us think about specific topics ( i.e. “Time Complexity”, “Sorting”, “Fibonacci numbers” ) each of them with a little pdf file with some reading material. I encourage you to test ‘Codility’. The worst thing that it could happen is that you would waste 2 hours.


OOP (Pseudo Object Oriented Programming) in MaxScript

Hi all:

There is some time i have not written in the blog, but i expect that is gonna change currently. I have a bunch of projects at the moment and i guess that i am gonna have some interesting stuff to show you all early. One of them is going to be developed under 3DS Max using MaxScript. Maybe in future versions of 3DS Max i will develop it using Python ( let’s see how the API evolves 😉 )

So, this article tries to explain a way of using MaxScript Struct as an Object ( Object Oriented Programing ). The main reason to do that is to organize our code and our information structures inside MaxScript, cause when a script start to grow and become really large, our organization is one of the most important things to understand what we are doing, write less mistakes, find mistakes faster, and let other people to read and understand our code.

An Struct allow us to store a couple of variables together, as they have some relationship between them. Inside MaxScript Help, we could read some code like this one:

struct Person(name, age, gender)
me = Person name:"Gorka" age:31 gender:#male
format "% - % - %n" me.age me.gender
you = ()
format "% - % - %n" you.age you.gender

Read More

MaxScript Circle using Bézier Curves

This article explains the way i have found to build a Circle using Bézier Curves. I have used 3DSMax and MaxScript to build it, but, of course, it’s the same within any software.  Cubic Bézier  Formula is next:

Bezier Curve Formula

Well, s0, the P0 P1 P2 and P3 are the control points that define the Curve. The t is the position we would like to calculate. So, the start of the Curve is 0 and the End is 1. The definition says that P0 and P1 belongs to the path of the Curve. So, let’s build a 1 unit radius Circle.

Read More

some works .2 are coming!!


I have been spending my free time for the last months in order to improve some 3D skills, like morphing, composite, some particle simulations, and so on. In that time, i have started some little personal projects, that i have been compiling into a pseudo-demoreel. Now, i have works enough to fill a 2 minutes video, and … it’s about to be finished!! wooow!!. Only some days to refine a couple of details. However, i want to share the next funny renders.

Read More

skinning and vertex filter in Blender

Last week, surfing to forums, i have found some post speaking about influences of bones within Blender, and the way to limit them to a specific maximum number. This need is mainly due to the limits that some engines has: in this case, bone influences per vertex.
Some time ago i had the same problem exporting some characters to an external engine, and i wrote this little script to solve the problem.

The behavoir of the script is very simple. You can define the maximum number of weights modifying the global variable WEIGHT_MAX. You have to select the Mesh to be processed and execute the script. After the process, you are going to get the same number of influences in your vertex, but the influences with less weight would be set to 0,0. It doesn’t remove them. Then you’d have to apply the ‘Clean’ and ‘Normalize All’ inside Blender.

Read More