Sunday, January 30, 2011

Panzercrew update 2

Small update. Worked on the face and hair this weekend. Still messing around with the subsurface shader for the skin.

Left: With cap
Middle: Close-up
Right: without cap

Wednesday, January 26, 2011

The Machine: Bride of Pinbot

At the moment I’m working on a new model: The Bride of Pinbot. This model will be used for various Dot Matrix Display animations by Dutch Pinball. Dutch Pinball is reprogramming a real pinball machine using a new pinball controller board (P-ROC) to incorporate their own new rule sheet, graphics & sound. More information about this very prestigious project can be found at: www.dutchpinball.com. Check it out!

Saturday, January 15, 2011

Panzercrew update

Here is an update on the Panzer crewmember I was working on. Basic clothing, decals and sculpting finished. The more advanced folds with actual displacement will be done each time I pose this model on. Now I am going to focus on the minor details and after that the skin and eyes.

Thursday, December 16, 2010

Short animation project

At the moment I am working on a short animation project spanning about a month and hopefully finish this around Christmas time. It's for a set of commercials on a Dutch TV channel. I've learned quite a lot already about animating bipeds and facial expressions and I must say I really like doing this kind of work.

It's also the first actual human character I've animated and I was actually planning on experimenting with it anyway when this project came along. Plus side is that now I get paid to do it instead of doing it in my spare time! :)

Once I have permission and they are released, I will put some of the animation work on here and on my website. In the meantime It's going to be a little bit quiet here since I am focussing on animating, lipsync, rendering and such.

Monday, December 6, 2010

Panzer crewmember 1939 WIP

Started working on some crew for my Panzer I. This is the start of a German 1939 Panzer crew member. He will eventually be converted to a number of faces, but it is just one for now. It's still fairly early in the production so nothing more than raw model and basic shaders. Enjoy!

Monday, November 29, 2010

Happybox is not happy

I had to do a quick and dirty test to make sure that I could combine morph states with a biped and animation for one of my upcoming freelance projects. Here is the result: Happybox is not happy. As you can see it works, the morph targets are overlayed over the keyframed biped head movement without a problem. Just make sure you put the "Morph" modifier [u]under[/u] the "Physique" modifier and not the other way around. Else your morph will also transform your keyframed movement back to its own 0 state.

Click here to see the result: Happybox is not happy

Thursday, November 25, 2010

if (ypos + xpos != 0) then "giveheadache"

I've been trying to get the wheels to spin at the correct speed when moving the tank control object in various directions. For this I used a base formula and I tried in various ways to extend on it. I was never good at maths in college because I could not actually apply them to a situation I grasped until now. However I am still a bit crap at it but improving :D

With the formula I am trying to have and object look at movement over the x and y axis, and divide this amount by its own perimeter. This works fine over one axis, however if I try to apply it to two axis (x and y) AND a combination of both for angles not 90 degrees, then the trouble starts.

Here are some of the MAXscript formulas I've tried so far (13.400 is the radius of a wheel):

Original

r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y


(ypos/c)*2*pi)


___________________________________________
2)

dependson $Controller_Tank_Movement.pos.controller

r = 13.400
k = 13.400
c = 2*pi*r
d = 2*pi*k 
ypos = $Controller_Tank_Movement.pos.y
xpos = $Controller_Tank_Movement.pos.x

(((sqrt((ypos^2)+(xpos^2)))/c)*2*pi)



__________________________________________
3)

r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y
xpos = $Controller_Tank_Movement.pos.x

(
if
  (
    (ypos = 0)
    and
    (xpos <> 0)
  )
  then
  (
    ((xpos/c)*2*pi)
  )
)

(
if
  (
    (xpos = 0)
    and
    (ypos <> 0)
  )
  then
  (
    ((ypos/c)*2*pi)
  )
)

(
if
  (
    (xpos <> 0)
    and
    (ypos <> 0)
  )
  then
  (
    (((sqrt((ypos^2)+(xpos^2)))/c)*2*pi)
  )
)

_____________________________________________
4)

dependson $Controller_Tank_Movement.pos.controller

r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y
xpos = $Controller_Tank_Movement.pos.x

(
if
   (
   ypos == 0
   and
   xpos <> 0
   )
endif
)

then
   ((xpos/c)*2*pi)


(
if
  (
  xpos == 0
  and
  ypos <> 0
  )
endif
)

then
  (((ypos/c)*2*pi))

(
if
  (
  xpos <> 0
  and
  ypos <> 0
  )
endif
)

then
  (
  (((sqrt((ypos^2)+(xpos^2))/c)*2*pi))
  )

_________________________________________________
5)

dependson $Controller_Tank_Movement.pos.controller

r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y
xpos = $Controller_Tank_Movement.pos.x


if
   (
   ypos == 0 \
   and \
   xpos < 0 \
   or \
   xpos > 0 \
   then ((xpos/c)*2*pi)
   )

if
   (
   xpos == 0 \
   and \
   ypos < 0 \
   or \
   ypos > 0 \
   then ((ypos/c)*2*pi)
   )

if
   (
   ypos < 0 \
   or \
   ypos > 0 \
   and \
   xpos < 0 \
   or \
   xpos > 0 \
   then ((sqrt((ypos^2)+(xpos^2))/c)*2*pi)
   )

endif

_____________________________________________
6)

dependson $Controller_Tank_Movement.pos.controller
toolMode.coordsys #local
r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y


(ypos/c)*2*pi)

_______________________________________________
7)

r = 13.400
c = 2*pi*r
ypos = $Controller_Tank_Movement.pos.y
xpos = $Controller_Tank_Movement.pos.x

if
  (
  xpos or ypos != 0
  then
  (ypos)/c)*2*pi)+(-xpos/c)*2*pi)
  )
else
  (
  xpos and ypos != 0
  ((sqrt((ypos^2)+(xpos^2))/c)*2*pi)
  )
endif

_______________________________________________

None of them yield the correct results yet, so I will continue to investigate this further. However I have a big freelance project coming up tomorrow so my time is very limited.