Posts tagged ‘motionbuilder’
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.
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
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
Motionbuilder – http://en.wikipedia.org/wiki/Motionbuilder
Maya – http://en.wikipedia.org/wiki/Autodesk_Maya
Softimage – http://en.wikipedia.org/wiki/Autodesk_Softimage
Cinema 4d – http://www.py4d.com/
Lightwave – http://www.newtek.com/lightwave/core/techfaq.php
Houdini – http://www.sidefx.com/index.php?option=com_content&task=view&id=1029&Itemid=266
Modo – http://www.luxology.com/modo/product_information/technical_specifications/