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.