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.

Tuesday, November 23, 2010

Nickytoon rigging test



Test of the Biped I made for a Nickytoon. The model is one of my girlfriend's cartoon characters.This is just a fairly simple rig for now, will extend it later.

Modelling and rigging done by me, character design done by Nicky

Panzer I rigging, test 1

 As an experiment and to educate myself further I have started rigging my Panzer I. I've not done complex rigging like this before so it is quite a challenge. This is what I have so far:



The projection plane which I edit here manually normally looks at a ground object, but I have disabled that for now.

It still has a long way to go!

First message

I've opened this blog so I could show my 3D and animation tests without them clogging up my website.