Skip to content

Posts tagged ‘motionbuilder’

Multiplying matrices in MotionBuilder?

June 1, 2012

Charles

For the life of me I can’t figure this out – If I have a null and a cube at the origin, with the cube rotated and the null placed at [0,20,0] – Setting the nulls transform by multiplying it by that of the cubes should put it into the coordinate space of the cubes. (Essentially orbiting it about the cube)

This doesn’t appear to be the case though, as it appears to be doing the transformation in-place I.e. doing the transform with the first 3 rows and then adding the position part 4th row.

from pyfbsdk import *
box = FBFindModelByName('Cube')
null = FBFindModelByName('Null')

k = FBMatrix()
box.GetMatrix(k)

j = FBMatrix()
null.GetMatrix(j)

m = FBMatrix(j * k)
null.SetMatrix(m)

EDIT:

Just found out the FBMatrixMult – seems to do the job.

Advertisements

Little/Big Idea: Nodal App

February 26, 2011

Charles

I’d love to build an app, which basically only manipulated data/prototyped data. Basically you would import mesh data/nulls/shapes etc (possible create base types: nulls etc) and  rig/control them through a nodal work flow. I.e Max’s script controller in encapsulated nodes.

  • Import models, objects, point cloud data – possibly create nulls etc
  • Transforming wouldn’t need specific connections (i.e a transform handle node in Houdini)
  • Parenting would be done in the viewport and possible show up in a schematic type view

MotionBuilder similarities:

  • Each object would appear as a node or cluster (point cloud etc) – inputs/outputs being position/rotation/scale/xyz
  • Local/world space could be used as input output

XSI/Houdini Similarities:

  • Nodes could be grouped/compacted into digital asset/compound like object. i.e you could build an IK/FK compound
  • Vector operations on the models etc

Operations E.g.

  • add, subtract, multiply, inverse, transpose, dot, cross, power,exp, factorial, abs,ceil,floor,mod,arcLength,tangent, binomial
  • sin,tan,cos, acos

Case Types E.g.

  • If/else/elseIf/finally/then, continue/while, try/catch/throw/break

Value Types E.g.

  • integer,float,point2,point3,point4, matrix n*n
  • custom variables
  • pi, e, etc

Questions..

  • Importing data – simple xml data, open customizable
  • Animation support?
  • Skinning support?
  • UV support? Masks?
  • Reference space – At one level we want to work on the object itself, at another we want to work on its vertices/knots etc. Operators need to handle both levels of abstraction.
  • Is this just for prototyping? (i like this) – need XML to export data to be readable in a standard web browser for translating in final app max/maya etc..

Maybe I’m just describing Houdini/ICE, but this would be purely for visualizing/manipulating object relative data –  custom subsystems e.g. iksolvers, rendering, animation layers, custom constraints etc etc..

More on XSI Compounds here: http://softimage.wiki.softimage.com/xsidocs/ICE_compounds_OverviewofICECompounds.htm

What to learn: Python

July 16, 2010

Charles

I’ve started learning Python (albeit slowly) and pretty much recommend any tech artist/animator/rigger to do so to! It’s awesome and the sheer number of libraries and packages using it is crazy:

3ds Max http://forums.cgsociety.org/showthread.php?f=98&t=816475

Motionbuilderhttp://en.wikipedia.org/wiki/Motionbuilder

Mayahttp://en.wikipedia.org/wiki/Autodesk_Maya

Softimagehttp://en.wikipedia.org/wiki/Autodesk_Softimage

Cinema 4dhttp://www.py4d.com/

Lightwavehttp://www.newtek.com/lightwave/core/techfaq.php

Houdinihttp://www.sidefx.com/index.php?option=com_content&task=view&id=1029&Itemid=266

Modohttp://www.luxology.com/modo/product_information/technical_specifications/